{"version":3,"sources":["webpack:///./node_modules/moment/moment.js","webpack:///./app/webpacker/src/javascripts/application.js","webpack:///./app/webpacker/src/javascripts/helpers/application/tooltips.js","webpack:///./app/webpacker/src/javascripts/admin/float_label.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/quill/dist/quill.js","webpack:///./app/webpacker/packs/admin.js","webpack:///./node_modules/bootstrap-daterangepicker/daterangepicker.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/chosen-js/chosen.jquery.js","webpack:///./node_modules/select2/dist/js/select2.js","webpack:///./app/webpacker/src/javascripts/admin/quill_editor.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./app/webpacker/src/javascripts/admin/report_charts_and_date_range.js","webpack:///./node_modules/highcharts/modules/funnel.js","webpack:///./app/webpacker/src/javascripts/admin/ss_report.js","webpack:///./app/webpacker/src/javascripts/admin/navbar_and_rg_session_form.js","webpack:///./app/webpacker/src/javascripts/admin/rg_analyses.js"],"names":["factory","_typeof","Symbol","iterator","obj","constructor","prototype","hookCallback","some","hooks","apply","arguments","isArray","input","Array","Object","toString","call","isObject","hasOwnProp","a","b","hasOwnProperty","isObjectEmpty","getOwnPropertyNames","length","k","isUndefined","isNumber","isDate","Date","map","arr","fn","i","res","arrLen","push","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","m","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","this","len","momentProperties","updateInProgress","copyConfig","to","from","prop","val","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","key","args","argLen","slice","join","Error","stack","keys","deprecations","deprecateSimple","name","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","zeroFill","number","targetLength","forceSign","absNumber","Math","abs","zerosToFill","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","isLeapYear","year","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","makeGetSet","keepTime","set$1","get","month","date","daysInMonth","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","s","indexOf","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","x","modMonth","o","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","split","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","min","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","daysInYear","y","parseTwoDigitYear","parseInt","getSetYear","createDate","d","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","n","concat","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","day","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","w","ww","MM","yy","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","loadLocale","oldLocale","module","exports","isLocaleNameSane","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","j","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","exec","isoDatesLen","isoTimesLen","configFromStringAndFormat","untruncateYear","yearStr","configFromRFC2822","parsedArray","monthStr","dayStr","hourStr","minuteStr","secondStr","result","weekdayStr","parsedInput","getDay","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","setUTCMinutes","getUTCMinutes","defaults","c","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","_week","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","isPm","meridiemHour","meridiemFixWrap","erasConvertYear","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromStringAndArray","createFromInputFallback","configFromString","dayOrDate","minute","second","millisecond","configFromObject","configFromInput","isUTC","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","unitHasDecimal","orderLen","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","parts","matches","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","isString","String","isMomentInput","arrayTest","dataTypeTest","filter","item","isNumberOrStringArray","property","objectTest","propertyTest","properties","propertyLen","isMomentInputObject","isCalendarSpec","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","abbrPieces","namePieces","narrowPieces","eras","narrow","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","eraYearOrdinalParse","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetMillisecond","getSetSecond","parseMs","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","isoWeekday","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","prioritizedLen","toArray","toObject","toDate","toISOString","keepOffset","inspect","prefix","suffix","zone","isLocal","for","toJSON","unix","creationData","eraName","since","until","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","compareArrays","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","tok","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","_eras","isFormat","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","assign","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","$","tooltip","handleFocus","target","parentNode","classList","handleBlur","remove","init","document","querySelectorAll","element","querySelector","floatField","addEventListener","bindEvents","moment","symbolMap","numberMap","pluralForm","plurals","pluralize","f","str","weekdaysParseExact","suffixes","relativeTimeWithPlural","num","forms","standalone","lastDigit","last2Digits","monthsParseExact","relativeTimeWithMutation","text","mutationTable","substring","softMutation","mutation","lastNumber","minWeekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","translate","ll","lll","llll","plural","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eraYearOrdinalRegex","$0","$1","$2","isUpper","eifelerRegelAppliesToNumber","translateSingular","special","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","word","numbersNouns","numberNoun","hundred","ten","one","numberAsNoun","processHoursFunction","nominative","accusative","genitive","_typeof2","self","modules","installedModules","__webpack_require__","moduleId","defineProperty","configurable","enumerable","__esModule","object","p","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","Scope","create","find","query","register","Container","default","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","extendStatics","__extends","setPrototypeOf","__proto__","__","ParchmentError","_super","message","_this","attributes","classes","tags","types","scope","ANY","Node","TEXT_NODE","LEVEL","BLOCK","INLINE","HTMLElement","getAttribute","tagName","TYPE","DATA_KEY","BlotClass","node","bubble","blot","Definitions","Definition","blotName","attrName","keyName","className","tagNames","tag","equal","op","NULL_CHARACTER","fromCharCode","Delta","ops","insert","newOp","retain","lastOp","unshift","splice","chop","pop","predicate","partition","passed","failed","reduce","initial","changeLength","elem","delete","start","end","Infinity","iter","hasNext","nextOp","compose","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","delta","thisOp","otherOp","rest","strings","diffResult","component","opLength","INSERT","DELETE","EQUAL","eachLine","newline","line","transform","transformPosition","nextType","hasOwn","toStr","gOPD","getOwnPropertyDescriptor","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","options","newValue","writable","getProperty","src","copy","copyIsArray","deep","BlockEmbed","bubbleFormats","_createClass","defineProperties","props","descriptor","Constructor","protoProps","staticProps","_get","receiver","desc","parent","getPrototypeOf","_extend2","_interopRequireDefault","_quillDelta2","_parchment2","_break2","_inline2","_text2","_classCallCheck","instance","TypeError","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","_Parchment$Embed","domNode","attribute","BLOCK_ATTRIBUTE","def","endsWith","block","insertBefore","insertAt","BLOCK_BLOT","_Parchment$Block","_this2","cache","descendants","leaf","lines","children","tail","ref","head","context","child","force","statics","defaultChild","allowedChildren","overload","expandConfig","_slicedToArray","_arr","_n","_e","_s","done","err","sliceIterator","_editor2","_emitter4","_module2","_selection","_selection2","_logger2","_theme2","_defineProperty","debug","Quill","container","error","html","innerHTML","trim","__quill","root","addContainer","setAttribute","scrollingContainer","emitter","scroll","whitelist","editor","selection","theme","keyboard","addModule","clipboard","history","on","events","EDITOR_CHANGE","type","TEXT_CHANGE","toggle","isBlank","SCROLL_UPDATE","mutations","range","lastRange","modify","update","contents","convert","setContents","clear","placeholder","readOnly","disable","level","imports","path","overwrite","startsWith","refNode","createElement","setRange","_this3","_overload","_overload2","deleteText","enable","enabled","scrollTop","focus","scrollIntoView","_this4","sources","API","getSelection","change","formatLine","formatText","setSelection","SILENT","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","getBounds","containerBounds","getBoundingClientRect","bottom","top","height","left","right","width","getLength","_overload7","_overload8","getContents","getFormat","Number","MAX_VALUE","getRange","_overload9","_overload10","getText","hasFocus","embed","_this7","insertEmbed","_this8","_overload11","_overload12","insertText","contains","off","once","dangerouslyPasteHTML","_this9","_overload13","_overload14","removeFormat","_this10","deleted","applied","applyDelta","_overload15","_overload16","Range","USER","_this11","userConfig","DEFAULTS","import","themeConfig","moduleConfig","moduleClass","toolbar","modifier","isEnabled","oldDelta","shiftRange","_emitter","_emitter2","emit","_map","_map2","_map3","_map4","_Parchment$Inline","compare","BLOT","isolate","wrap","moveChildren","selfIndex","order","otherIndex","_parchment","TextBlot","_Parchment$Text","_eventemitter2","eventName","_len","_key","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","listeners","log","event","_len2","_key2","_ref","handler","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","quill","levels","method","_console","namespace","ns","logger","bind","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","expected","opts","isUndefinedOrNull","isBuffer","ka","kb","objEquiv","attributeBit","ATTRIBUTE","canAdd","removeAttribute","Code","_block2","_Inline","CodeBlock","_Block","textContent","frag","_descendant","descendant","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","reverse","lastIndexOf","appendChild","prev","optimize","removeChild","unwrap","TAB","_op2","_code2","_cursor2","_block","_clone2","_deepEqual2","ASCII","Editor","getDelta","consumeNextNewline","scrollLength","batchStart","image","list","bullet","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","batchEnd","lengthRemaining","lineLength","codeIndex","codeLength","leaves","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","cursorIndex","textBlot","oldValue","CONTENTS","oldText","newText","diffDelta","combined","merged","_toConsumableArray","Selection","composing","mouseDown","cursor","savedRange","handleComposition","handleDragging","listenDOM","setTimeout","native","getNativeRange","textNode","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","restore","body","_format","nativeRange","collapsed","after","attach","_scroll$leaf","_scroll$leaf2","_leaf$position","position","_leaf$position2","createRange","setStart","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","setEnd","side","rect","rangeCount","getRangeAt","normalizeNative","info","normalized","normalizedToRange","activeElement","positions","indexes","_position","startContainer","endContainer","childNodes","lastChild","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","first","last","scrollBounds","removeAllRanges","addRange","blur","rangeToNative","oldRange","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","build","makeBlot","forEachAt","criteria","lengthLeft","detach","childBlot","refBlot","insertInto","memo","targetParent","inclusive","addedNodes","removedNodes","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","nextSibling","replaceChild","FormatBlot","replaceWith","replacement","wrapper","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","_instanceof","nativeMap","nativeSet","nativePromise","Map","_","Set","Promise","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","_clone","resolve","reject","then","__isArray","__isRegExp","__getRegExpFlags","__isDate","allocUnsafe","keyChild","valueChild","entryChild","attrs","getOwnPropertySymbols","symbols","symbol","allPropertyNames","propertyName","__objToStr","re","global","ignoreCase","multiline","clonePrototype","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill2","navigator","platform","Keyboard","_Module","bindings","addBinding","ENTER","shiftKey","handleEnter","metaKey","ctrlKey","altKey","userAgent","BACKSPACE","handleBackspace","handleDelete","handleDeleteRange","listen","evt","binding","normalize","which","keyCode","defaultPrevented","_quill$getLine","getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","every","preventDefault","makeEmbedArrowHandler","_ref3","where","LEFT","RIGHT","_quill$getLeaf3","_quill$getLine11","_quill$getLine13","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine17","nextFormats","firstFormats","lastFormats","lineFormats","makeCodeBlockHandler","indent","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","getIndex","makeFormatHandler","shortKey","charCodeAt","ESCAPE","UP","DOWN","cutoff","updateContents","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","header","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","Cursor","createTextNode","_length","restoreText","_Parchment$Container","ColorStyle","ColorClass","ColorAttributor","_Parchment$Attributor","sanitize","_inline","Link","url","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","href","protocol","_keyboard2","_dropdown2","optionsCounter","toggleAriaAttribute","Picker","select","buildPicker","style","display","label","togglePicker","escape","option","tabIndex","hasAttribute","selectItem","id","buildItem","selected","buildLabel","buildOptions","close","trigger","selectedIndex","Event","dispatchEvent","createEvent","initEvent","isActive","_embed2","_scroll2","_clipboard2","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","styles","attr","ClassAttributor","camelize","part","StyleAttributor","Theme","themes","GUARD_TEXT","contentNode","childNode","leftGuard","rightGuard","prevLength","AlignStyle","AlignClass","AlignAttribute","BackgroundStyle","BackgroundClass","_color","DirectionStyle","DirectionClass","DirectionAttribute","FontClass","FontStyle","FontStyleAttributor","SizeStyle","SizeClass","getLastChangeIndex","History","lastRecorded","ignoreChange","userOnly","record","undo","redo","dest","changeDelta","undoDelta","timestamp","delay","maxStack","deleteLength","changeIndex","endsWithNewlineChange","BaseTooltip","_colorPicker2","_iconPicker2","_picker2","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","removeEventListener","textbox","hide","pickers","picker","extendToolbar","buttons","icons","button","selects","fillSelect","align","handlers","formula","edit","fileInput","files","reader","FileReader","onload","readAsDataURL","click","video","_Tooltip","boundsContainer","save","cancel","mode","preview","linkRange","restoreFocus","defaultValue","LinkedList","append","nodes","cur","curNode","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","ScrollBlot","MutationObserver","observe","disconnect","records","mark","markParent","remaining","previousSibling","grandChild","InlineBlot","obj1","obj2","isEqual","BlockBlot","EmbedBlot","splitText","_toggle","DOMTokenList","searchString","subjectString","thisArg","execCommand","DIFF_DELETE","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","longtext","shorttext","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","best_common","prefixLength","text1_a","text1_b","text2_a","text2_b","hm1","hm2","mid_common","diff_halfMatch_","diffs_a","diffs_b","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","y1","x1","k2_offset","x2","diff_bisectSplit_","k2","y2","diff_bisect_","diff_compute_","diff_cleanupMerge","norm","current_pos","next_pos","split_pos","d_left","d_right","cursor_normalize_diff","ndiffs","cursor_pointer","d_next","merge_tuples","fix_cursor","compact","starts_with_pair_end","ends_with_pair_start","fixed_diffs","fix_emoji","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","pointer","count_delete","count_insert","text_delete","text_insert","changes","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","has","Events","EE","EventEmitter","_events","_eventsCount","eventNames","exists","available","ee","a1","a2","a3","a4","a5","removeListener","removeAllListeners","addListener","setMaxListeners","prefixed","matchText","matchSpacing","matchNewline","matchBlot","matchAttributor","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","deltaEndsWith","ELEMENT_NODE","fontStyle","computeStyle","italic","fontWeight","bold","applyFormat","textIndent","matchAlias","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","onPaste","matchers","selector","matchVisual","addMatcher","innerText","_prepareMatching","prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","paste","pair","_pair","nodeType","window","getComputedStyle","endText","childrenDelta","nextElementSibling","nodeHeight","offsetHeight","marginTop","marginBottom","offsetTop","whiteSpace","replacer","collapse","Bold","addControls","Toolbar","_ret","controls","addHandler","_this$quill$selection","_quill$selection$getR","prompt","addButton","groups","group","control","addSelect","clean","link","_picker","ColorPicker","_Picker","backgroundColor","colorLabel","stroke","fill","IconPicker","defaultItem","Tooltip","TEMPLATE","reference","offsetWidth","rootBounds","verticalShift","_base","_base2","_link2","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","show","_core2","_indent","_blockquote2","_header2","_list","_list2","_bold2","_italic2","_script2","_strike2","_underline2","_image2","_video2","_code","_formula2","_syntax2","_toolbar2","_bubble2","_snow2","IndentClass","ListItem","IdentAttributor","Blockquote","Header","List","_Container","listEventHandler","_bold","Italic","_Bold","Script","Strike","Underline","_link","ATTRIBUTES","Image","Video","_BlockEmbed","FormulaBlot","_Embed","katex","render","throwOnError","errorColor","Formula","CodeToken","SyntaxCodeBlock","_CodeBlock","_highlight","cachedText","Syntax","highlight","timer","clearTimeout","interval","code","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","arrow","marginLeft","chosen","allow_single_deselect","no_results_text","jquery","DateRangePicker","cb","parentEl","startDate","endDate","minDate","maxDate","maxSpan","autoApply","singleDatePicker","showDropdowns","minYear","maxYear","showWeekNumbers","showISOWeekNumbers","showCustomRangeLabel","timePicker","timePicker24Hour","timePickerIncrement","timePickerSeconds","linkedCalendars","autoUpdateInput","alwaysShowCalendars","ranges","opens","hasClass","drops","buttonClasses","applyButtonClasses","cancelButtonClasses","applyLabel","cancelLabel","weekLabel","customRangeLabel","daysOfWeek","monthNames","firstDay","isShowing","leftCalendar","rightCalendar","template","appendTo","rangeHtml","addClass","applyClass","cancelClass","dateLimit","isInvalidDate","isCustomDate","is","setStartDate","setEndDate","timepicker","prepend","proxy","clickPrev","clickNext","clickDate","hoverDate","monthOrYearChanged","timeChanged","clickRange","clickApply","clickCancel","elementChanged","keydown","updateElement","updateMonthsInView","previousRightTime","updateView","renderTimePicker","removeClass","updateCalendars","updateFormInputs","ampm","renderCalendar","calculateChosenLabel","lastMonth","lastYear","daysInLastMonth","dayOfWeek","startDay","curDate","col","row","dateHtml","currentMonth","currentYear","inMinYear","inMaxYear","monthHtml","yearHtml","each","maxLimit","isCustom","cname","disabled","timeSelector","i_in_24","am_html","pm_html","containerTop","parentOffset","parentRightEdge","scrollLeft","clientWidth","outerHeight","scrollHeight","css","containerWidth","outerWidth","toggleClass","containerRight","containerLeft","_outsideClickProxy","outsideClick","oldStartDate","oldEndDate","chosenLabel","closest","showCalendars","hideCalendars","parents","title","el","dt","stopPropagation","customRange","isLeft","leftOrRight","cal","dateString","removeData","daterangepicker","implementOptions","defaultOptions","webpackContext","req","webpackContextResolve","AbstractChosen","Chosen","SelectParser","hasProp","options_index","parsed","add_node","nodeName","add_group","add_option","group_position","results1","array_index","group_disabled","group_array_index","group_label","cssText","select_to_array","parser","form_field","options1","me","label_click_handler","browser_is_supported","is_multiple","multiple","set_default_text","set_default_values","setup","set_up_html","register_observers","on_ready","click_test_action","test_active_click","activate_action","activate_field","active_field","mouse_on_container","results_showing","result_highlighted","is_rtl","rtl","disable_search_threshold","disable_search","enable_split_word_search","group_search","search_contains","single_backstroke_delete","max_selected_options","inherit_select_classes","display_selected_options","display_disabled_options","include_group_label_in_selected","max_shown_results","POSITIVE_INFINITY","case_sensitive_search","hide_results_on_select","default_text","placeholder_text_multiple","placeholder_text","default_multiple_text","placeholder_text_single","default_single_text","escape_html","results_none_found","default_no_result_text","choice_label","mouse_enter","mouse_leave","input_focus","container_mousedown","input_blur","blur_test","results_option_build","content","data_content","shown_results","results_data","result_add_group","result_add_option","choice_build","single_set_selected_text","option_el","search_match","include_option_in_results","highlighted_html","outerHTML","group_el","group_match","active_options","results_update_field","results_reset_cleanup","result_clear_highlight","results_build","winnow_results","reset_single_select_options","results_toggle","results_hide","results_show","results_search","escapedQuery","fix","results","results_group","startpos","no_results_clear","get_search_text","get_search_regex","search_string_match","update_results_content","no_results","skip_highlight","winnow_results_set_highlight","escaped_search_string","regex_flag","regex_string","search_string","choices_count","selected_option_count","choices_click","is_disabled","keydown_checker","search_field_scale","pending_backstroke","clear_backstroke","backstroke_length","get_search_field_value","result_select","keyup_arrow","keydown_arrow","keyup_checker","keydown_backstroke","clipboard_event_checker","container_width","search_results_touchstart","touch_started","search_results_mouseover","search_results_touchmove","search_results_mouseout","search_results_touchend","search_results_mouseup","get_single_html","get_multi_html","get_no_results_html","terms","appName","documentMode","jQuery","input_field","$this","destroy","__super__","ctor","form_field_jq","current_selectedIndex","container_classes","container_props","dropdown","search_field","search_results","search_no_results","search_choices","search_container","selected_item","set_tab_index","set_label_behavior","container_mouseup","search_results_mousewheel","close_field","ownerDocument","form_field_label","search_field_disabled","results_reset","originalEvent","deltaY","wheelDelta","detail","show_search_field_default","active_container","parsing","result_do_highlight","high_bottom","high_top","maxHeight","visible_bottom","visible_top","result_highlight","ti","choice","close_link","choice_destroy_link_click","before","choice_destroy","result_deselect","trigger_form_field_change","high","single_deselect_control_build","result_data","deselected","do_high","selected_results","no_results_html","next_sib","nextAll","prev_sibs","prevAll","next_available_destroy","siblings","div","style_block","extra","S2","select2","amd","requirejs","require","define","undef","main","_req","makeMap","defined","waiting","defining","aps","jsSuffixRegExp","baseName","nameParts","nameSegment","mapValue","foundMap","foundI","foundStarMap","starI","baseParts","starMap","nodeIdCompat","makeRequire","relName","forceSync","makeNormalize","makeLoad","depName","callDep","splitPrefix","makeRelParts","makeConfig","relParts","plugin","relResourceName","pr","uri","deps","cjsModule","usingExports","callbackType","load","alt","cfg","_defined","_$","Utils","getMethods","theClass","methods","methodName","Extend","ChildClass","SuperClass","__hasProp","BaseConstructor","Decorate","DecoratorClass","decoratedMethods","superMethods","DecoratedClass","argCount","calledConstructor","ctr","displayName","superMethod","calledMethod","originalMethod","decoratedMethod","Observable","params","_type","invoke","generateChars","chars","random","_convertData","originalKey","dataLevel","hasScroll","$el","overflowX","overflowY","innerHeight","innerWidth","scrollWidth","escapeMarkup","markup","replaceMap","__cache","GetUniqueElementId","select2Id","StoreData","GetData","RemoveData","copyNonInternalCssClasses","destinationClasses","clazz","sourceClasses","replacements","Results","$element","dataAdapter","$results","displayMessage","hideLoading","$message","hideMessages","$options","$option","$dropdown","sorter","highlightFirstItem","$selected","ensureHighlightVisible","setClasses","current","selectedIds","showLoading","loading","loadingMore","$loading","Element","msMatchesSelector","webkitMatchesSelector","_resultId","role","$children","$child","$childrenContainer","$container","isOpen","removeAttr","$highlighted","getHighlightedResults","currentIndex","nextIndex","$next","eq","currentOffset","nextTop","nextOffset","nextBottom","mousewheel","isAtTop","isAtBottom","offsetDelta","SHIFT","CTRL","ALT","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","KEYS","BaseSelection","$selection","_tabindex","resultsId","_handleBlur","_attachCloseHandler","_detachCloseHandler","$select","isDisabled","SingleSelection","$rendered","selectionContainer","formatted","MultipleSelection","$selections","selectionIdPrefix","selectionId","removeItem","$remove","Placeholder","decorated","normalizePlaceholder","createPlaceholder","$placeholder","placeholderTitle","singlePlaceholder","AllowClear","_handleClear","_handleKeyboardClear","$clear","previousVal","unselectData","prevented","removeAll","Search","searchLabel","$search","$searchContainer","_transferTabIndex","resizeSearch","_keyUpPrevented","isDefaultPrevented","$previousChoice","searchRemoveChoice","msie","disableInputEvents","handleSearch","searchHadFocus","term","SelectionCSS","selectionCssClass","EventRelay","relayEvents","preventableEvents","Translation","dict","all","translation","_cache","loadPath","translations","BaseAdapter","generateResultId","SelectAdapter","selectedElement","currentData","unselect","addOptions","normalizedData","_normalizeItem","ArrayAdapter","_dataToConvert","convertToOptions","elm","$existing","existingIds","onlyItem","$existingOption","existingData","newData","$newOption","AjaxAdapter","ajaxOptions","_applyDefaults","processResults","q","transport","success","failure","$request","ajax","fail","_request","abort","request","status","_queryTimeout","Tags","createTag","insertTag","checkChildren","_removeOldTags","page","Tokenizer","tokenizer","createAndSelect","tokenData","separators","termChar","MinimumInputLength","$e","minimumInputLength","minimum","MaximumInputLength","maximumInputLength","maximum","MaximumSelectionLength","maximumSelectionLength","_checkIfMaximumSelected","successCallback","count","Dropdown","showSearch","HidePlaceholder","removePlaceholder","modifiedData","InfiniteScroll","lastParams","$loadingMore","createLoadingMore","showLoadingMore","loadMoreIfNeeded","isLoadMoreVisible","documentElement","loadMore","pagination","more","AttachBody","$dropdownParent","_showDropdown","_attachPositioningHandler","_bindContainerResultHandlers","_hideDropdown","_detachPositioningHandler","$dropdownContainer","_containerResultsHandlersBound","_positionDropdown","_resizeDropdown","scrollEvent","resizeEvent","orientationEvent","$watchers","ev","$window","isCurrentlyAbove","isCurrentlyBelow","newDirection","viewport","enoughRoomAbove","enoughRoomBelow","$offsetParent","offsetParent","isConnected","minWidth","countResults","MinimumResultsForSearch","minimumResultsForSearch","SelectOnClose","_handleSelectOnClose","originalSelect2Event","$highlightedResults","CloseOnSelect","_selectTriggered","DropdownCSS","dropdownCssClass","TagsSearchHighlight","$firstOption","firstElement","errorLoading","inputTooLong","overChars","inputTooShort","maximumSelected","noResults","searching","removeAllItems","search","ResultsList","SelectionSearch","DIACRITICS","SelectData","ArrayData","AjaxData","DropdownSearch","EnglishTranslation","Defaults","reset","tokenSeparators","resultsAdapter","selectOnClose","dropdownAdapter","SearchableDropdown","closeOnSelect","selectionAdapter","allowClear","language","_resolveLanguage","uniqueLanguages","_processTranslations","stripDiacritics","original","amdLanguageBase","autocomplete","dropdownAutoWidth","scrollAfterSelect","templateResult","templateSelection","applyFromElement","optionLanguage","defaultLanguage","elementLanguage","parentLanguage","languages","isEmptyObject","resolvedLanguages","baseLanguage","languageData","ex","camelCase","convertedData","Options","fromElement","excludedData","dataset","upperCaseLetter","letter","attributeName","dataName","dataValue","Select2","_generateId","tabindex","DataAdapter","_placeContainer","SelectionAdapter","DropdownAdapter","ResultsAdapter","_bindAdapters","_registerDomEvents","_registerDataEvents","_registerSelectionEvents","_registerDropdownEvents","_registerResultsEvents","_registerEvents","initialData","_syncAttributes","insertAfter","_resolveWidth","WIDTH","styleWidth","elementWidth","_syncA","_syncS","_syncSubtree","_observer","nonRelayEvents","toggleDropdown","open","_isChangeMutation","changed","actualTrigger","preTriggerMap","preTriggerName","preTriggerArgs","newVal","thisMethods","instanceOptions","$quill_editor","$quill_source","color","font","getModule","initial_color","final_color","submit","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","Uint8Array","encodingOrOffset","ArrayBuffer","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","encoding","isEncoding","write","fromString","checked","buffer","fromObject","assertSize","size","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","hi","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","thisStart","thisEnd","thisCopy","targetCopy","includes","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","dst","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","Highcharts","$calculator_chart_div","point_width","chart","styledMode","credits","legend","plotOptions","series","dataLabels","inside","formatter","pointWidth","margin","headerFormat","pointFormat","xAxis","categories","yAxis","visible","box","plotBox","setSize","$rg_chart_div","rg_chart","zoomType","allowDecimals","gridLineWidth","x_top_right","x_bottom_right","renderer","borderColor","borderWidth","zIndex","$ss_chart_div","ss_chart","softConnector","neckWidth","neckHeight","date_range_options","_method","start_date","end_date","dataType","response","rg_total_sessions","rg_total_saved_sessions","rg_total_saved_and_sent_sessions","rep_new_performance_series","parseJSON","rg_saved_vs_sent_data_series","addSeries","setExtremes","rg_max_sent","rg_max_saved","redraw","rg_calculator_data_series","highcharts","setData","ss_total_sessions","ss_total_saved_sessions","ss_total_saved_and_sent_sessions","ss_funnel_details","ss_funnel_data_series","analysis_range_initialize","CustomEvent","_modules","g","D","J","noop","seriesTypes","pie","addEvent","z","fireEvent","A","B","merge","I","pick","points","alignDataLabel","reversed","dlBox","shapeArgs","verticalAlign","center","getWidthAt","plotY","topWidth","bottomWidth","getBBox","padding","dataLabel","placed","contrastColor","drawDataLabels","distance","half","labelDistance","maxLabelDistance","getX","labelPosition","natural","alignment","connectorPosition","breakAt","touchingSliceAt","ignoreHiddenPoint","plotWidth","plotHeight","v","H","F","G","r","C","K","centerX","shapeType","percentage","plotX","tooltipPos","sortByAngle","animation","connectorWidth","states","animate","placeDataLabels","registerSeriesType","_a2","slideDown","slideUp","$label","modal","xhr","cvm_id","alert","prospect_org_name","contact_first_name","contact_last_name","contact_email","salesforce_opportunity_id","hide_pricing"],"mappings":"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,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,KACV,SAAU,KACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,OAAQ,KACR,SAAU,KACV,SAAU,KACV,SAAU,KACV,SAAU,KACV,SAAU,KACV,SAAU,KACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,KACV,SAAU,KACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,OAAQ,IACR,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU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","file":"js/admin-d9fb3376e1539499b73f.chunk.js","sourcesContent":["function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js\n//! version : 2.29.2\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.moment = factory();\n})(this, function () {\n 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n } // This is done to register the method called with moment()\n // without creating circular dependencies.\n\n\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n\n return m._pf;\n }\n\n var some;\n\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function some(fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);\n\n if (m._strict) {\n isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n } // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n\n\n var momentProperties = hooks.momentProperties = [],\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n } // Moment prototype object\n\n\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n\n if (!this.isValid()) {\n this._d = new Date(NaN);\n } // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n\n\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return obj instanceof Moment || obj != null && obj._isAMomentObject != null;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n\n for (i = 0; i < argLen; i++) {\n arg = '';\n\n if (_typeof(arguments[i]) === 'object') {\n arg += '\\n[' + i + '] ';\n\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n\n args.push(arg);\n }\n\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + new Error().stack);\n firstTime = false;\n }\n\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set(config) {\n var prop, i;\n\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n\n this._config = config; // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n\n this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\\d{1,2}/.source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function keys(obj) {\n var i,\n res = [];\n\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? forceSign ? '+' : '' : '-') + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {}; // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n\n if (typeof callback === 'string') {\n func = function func() {\n return this[callback]();\n };\n }\n\n if (token) {\n formatTokenFunctions[token] = func;\n }\n\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n\n return output;\n };\n } // format date using native date object\n\n\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function (tok) {\n if (tok === 'MMMM' || tok === 'MM' || tok === 'DD' || tok === 'dddd') {\n return tok.slice(1);\n }\n\n return tok;\n }).join('');\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({\n unit: u,\n priority: priorities[u]\n });\n }\n }\n\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid() ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n value = toInt(value);\n\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n } // MOMENTS\n\n\n function stringGet(units) {\n units = normalizeUnits(units);\n\n if (isFunction(this[units])) {\n return this[units]();\n }\n\n return this;\n }\n\n function stringSet(units, value) {\n if (_typeof(units) === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n\n return this;\n }\n\n var match1 = /\\d/,\n // 0 - 9\n match2 = /\\d\\d/,\n // 00 - 99\n match3 = /\\d{3}/,\n // 000 - 999\n match4 = /\\d{4}/,\n // 0000 - 9999\n match6 = /[+-]?\\d{6}/,\n // -999999 - 999999\n match1to2 = /\\d\\d?/,\n // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/,\n // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/,\n // 99999 - 999999\n match1to3 = /\\d{1,3}/,\n // 0 - 999\n match1to4 = /\\d{1,4}/,\n // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/,\n // -999999 - 999999\n matchUnsigned = /\\d+/,\n // 0 - inf\n matchSigned = /[+-]?\\d+/,\n // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi,\n // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi,\n // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/,\n // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n 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,\n regexes;\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n } // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n\n\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n\n if (typeof token === 'string') {\n token = [token];\n }\n\n if (isNumber(callback)) {\n func = function func(input, array) {\n array[callback] = toInt(input);\n };\n }\n\n tokenLen = token.length;\n\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return (n % x + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function indexOf(o) {\n // I know\n var i;\n\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;\n } // FORMATTING\n\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n }); // ALIASES\n\n addUnitAlias('month', 'M'); // PRIORITY\n\n addUnitPriority('month', 8); // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict); // if we didn't find a month name, mark the date as invalid.\n\n\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n }); // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months) ? this._months : this._months['standalone'];\n }\n\n return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone'];\n }\n\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n } // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n\n\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n } // test the regex\n\n\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n } // MOMENTS\n\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value); // TODO: Another silent failure?\n\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n\n return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n\n return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n } // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n\n\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); // ALIASES\n\n addUnitAlias('year', 'y'); // PRIORITIES\n\n addUnitPriority('year', 1); // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n }); // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n } // HOOKS\n\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n }; // MOMENTS\n\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date; // the date constructor remaps years 0-99 to 1900-1999\n\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args; // the Date.UTC function remaps years 0-99 to 1900-1999\n\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments); // preserve leap years using a full 400 year cycle, then reset\n\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n } // start-of-first-week - start-of-year\n\n\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n return -fwdlw + fwd - 1;\n } // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n\n\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n } // FORMATTING\n\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W'); // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5); // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }); // HELPERS\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n } // MOMENTS\n\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n } // FORMATTING\n\n\n addFormatToken('d', 0, 'do', 'day');\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday'); // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E'); // PRIORITY\n\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11); // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict); // if we didn't get a weekday name, mark the date as invalid\n\n\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n }); // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n\n return isNaN(input) ? null : input;\n } // LOCALES\n\n\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format) ? 'format' : 'standalone'];\n return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n } // test the regex\n\n\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n } // MOMENTS\n\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n } // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n\n return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n\n return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n\n return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n } // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n\n\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false); // ALIASES\n\n addUnitAlias('hour', 'h'); // PRIORITY\n\n addUnitPriority('hour', 13); // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n }); // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n week: defaultLocaleWeek,\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n meridiemParse: defaultLocaleMeridiemParse\n }; // internal storage for locale config files\n\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n } // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n\n\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n\n if (locale) {\n return locale;\n }\n\n if (next && next.length >= j && commonPrefix(split, next) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n\n j--;\n }\n\n i++;\n }\n\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire; // TODO: Find a better way to register and load all the locales in Node\n\n if (locales[name] === undefined && typeof module !== 'undefined' && module && module.exports && isLocaleNameSane(name)) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n\n return locales[name];\n } // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n\n\n function getSetGlobalLocale(key, values) {\n var data;\n\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n\n if (locales[name] != null) {\n 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.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n } // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n\n\n getSetGlobalLocale(name);\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n\n config = mergeConfigs(parentConfig, config);\n\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n } // backwards compat for now: also set the locale\n\n\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n\n return locales[name];\n } // returns locale data\n\n\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n\n if (locale) {\n return locale;\n }\n\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n 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;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n } // iso 8601 regex\n // 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)\n\n\n 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)?)?$/,\n 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)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n 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}/], ['GGGG[W]WWE', /\\d{4}W\\d{3}/], ['GGGG[W]WW', /\\d{4}W\\d{2}/, false], ['YYYYDDD', /\\d{7}/], ['YYYYMM', /\\d{6}/, false], ['YYYY', /\\d{4}/, false]],\n // iso time formats and regexes\n 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/]],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n 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}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n }; // date from iso format\n\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [untruncateYear(yearStr), defaultLocaleMonthsShort.indexOf(monthStr), parseInt(dayStr, 10), parseInt(hourStr, 10), parseInt(minuteStr, 10)];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n } // date and time from ref 2822 format\n\n\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n\n if (match) {\n parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n config._d = createUTCDate.apply(null, config._a);\n\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n } // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n\n\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n 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. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }); // Pick the first defined of two or three arguments.\n\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n\n if (b != null) {\n return b;\n }\n\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n } // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n\n\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config); //compute day of the year from weeks and weekdays\n\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n } //if the day of the year is set, figure out what it is\n\n\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n } // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n\n\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n } // Zero out whatever was not defaulted, including time\n\n\n for (; i < 7; i++) {\n config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];\n } // Check for 24:00:00.000\n\n\n if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n } // check for mismatching day of week\n\n\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n w = config._w;\n\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4; // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n curWeek = weekOfYear(createLocal(), dow, doy);\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); // Default to current week.\n\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n } // constant that refers to the ISO standard\n\n\n hooks.ISO_8601 = function () {}; // constant that refers to the RFC 2822 form\n\n\n hooks.RFC_2822 = function () {}; // date from string and format string\n\n\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n\n config._a = [];\n getParsingFlags(config).empty = true; // This array is used to make a Date, either with `new Date` or `Date.UTC`\n\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n } // don't parse if it's not a known token\n\n\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n } // add remaining unparsed input length to the string\n\n\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n } // clear _12h flag if hour is <= 12\n\n\n if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem; // handle meridiem\n\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); // handle era\n\n era = getParsingFlags(config).era;\n\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n\n if (isPm && hour < 12) {\n hour += 12;\n }\n\n if (!isPm && hour === 12) {\n hour = 0;\n }\n\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n } // date from string and array of format strings\n\n\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n } // if there is any input that was not parsed add a penalty for that format\n\n\n currentScore += getParsingFlags(tempConfig).charsLeftOver; //or tokens\n\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map([i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || format === undefined && input === '') {\n return createInvalid({\n nullInput: true\n });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {\n input = undefined;\n } // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n\n\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }),\n prototypeMax = deprecate('moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }); // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n\n function pickBy(fn, moments) {\n var res, i;\n\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n\n if (!moments.length) {\n return createLocal();\n }\n\n res = moments[0];\n\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n\n return res;\n } // TODO: Use [].sort instead?\n\n\n function min() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isAfter', args);\n }\n\n var now = function now() {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n\n for (key in m) {\n if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n this._isValid = isDurationValid(normalizedInput); // representation for dateAddRemove\n\n this._milliseconds = +milliseconds + seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n\n this._days = +days + weeks * 7; // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n\n this._months = +months + quarters * 3 + years * 12;\n this._data = {};\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n } // compare two arrays, return the number of differences\n\n\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {\n diffs++;\n }\n }\n\n return diffs + lengthDiff;\n } // FORMATTING\n\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', ''); // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n }); // HELPERS\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n } // Return a moment from input, that is local/utc/zone equivalent to model.\n\n\n function cloneWithOffset(input, model) {\n var res, diff;\n\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); // Use low-level api, because this fn is low-level api.\n\n res._d.setTime(res._d.valueOf() + diff);\n\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n } // HOOKS\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n\n\n hooks.updateOffset = function () {}; // MOMENTS\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n\n\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n\n this._offset = input;\n this._isUTC = true;\n\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n\n input = input ? createLocal(input).utcOffset() : 0;\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n } // ASP.NET json date format regex\n\n\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if (match = aspNetRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n\n };\n } else if (match = isoRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign)\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (_typeof(duration) === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.')); // apply sign while we're at it\n\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n res.months = other.month() - base.month() + (other.year() - base.year()) * 12;\n\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n\n if (!(base.isValid() && other.isValid())) {\n return {\n milliseconds: 0,\n months: 0\n };\n }\n\n other = cloneWithOffset(other, base);\n\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n } // TODO: remove 'name' arg after deprecation is removed\n\n\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp; //invert the arguments, but complain about it\n\n if (period !== null && !isNaN(+period)) {\n 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.');\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n } // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n\n\n function isMomentInput(input) {\n return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === undefined;\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['years', 'year', 'y', 'months', 'month', 'M', 'days', 'day', 'd', 'dates', 'date', 'D', 'hours', 'hour', 'h', 'minutes', 'minute', 'm', 'seconds', 'second', 's', 'milliseconds', 'millisecond', 'ms'],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n\n if (arrayTest) {\n dataTypeTest = input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['sameDay', 'nextDay', 'lastDay', 'nextWeek', 'lastWeek', 'sameElse'],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n } // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n\n\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n\n case 'month':\n output = monthDiff(this, that);\n break;\n\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n\n case 'second':\n output = (this - that) / 1e3;\n break;\n // 1000\n\n case 'minute':\n output = (this - that) / 6e4;\n break;\n // 1000 * 60\n\n case 'hour':\n output = (this - that) / 36e5;\n break;\n // 1000 * 60 * 60\n\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break;\n // 1000 * 60 * 60 * 24, negate dst\n\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break;\n // 1000 * 60 * 60 * 24 * 7, negate dst\n\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n } // difference in months\n\n\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); // linear across the month\n\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); // linear across the month\n\n adjust = (b - anchor) / (anchor2 - anchor);\n } //check for negative zero, return zero if negative zero\n\n\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n\n\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n to: this,\n from: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n from: this,\n to: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n } // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n\n\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n\n return this;\n }\n }\n\n var lang = deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n });\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; // actual modulo - handles negative numbers (for dates before 1970):\n\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (_typeof(eras[i].since)) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (_typeof(eras[i].until)) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1; // truncate time\n\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) {\n return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset;\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp('^(' + narrowPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear'); // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG'); // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1); // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n }); // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n } // FORMATTING\n\n\n addFormatToken('Q', 0, 'Qo', 'quarter'); // ALIASES\n\n addUnitAlias('quarter', 'Q'); // PRIORITY\n\n addUnitPriority('quarter', 7); // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n }); // MOMENTS\n\n function getSetQuarter(input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n } // FORMATTING\n\n\n addFormatToken('D', ['DD', 2], 'Do', 'date'); // ALIASES\n\n addUnitAlias('date', 'D'); // PRIORITY\n\n addUnitPriority('date', 9); // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ? locale._dayOfMonthOrdinalParse || locale._ordinalParse : locale._dayOfMonthOrdinalParseLenient;\n });\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n }); // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true); // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD'); // PRIORITY\n\n addUnitPriority('dayOfYear', 4); // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n }); // HELPERS\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n } // FORMATTING\n\n\n addFormatToken('m', ['mm', 2], 0, 'minute'); // ALIASES\n\n addUnitAlias('minute', 'm'); // PRIORITY\n\n addUnitPriority('minute', 14); // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE); // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false); // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second'); // ALIASES\n\n addUnitAlias('second', 's'); // PRIORITY\n\n addUnitPriority('second', 15); // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND); // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false); // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n }); // ALIASES\n\n addUnitAlias('millisecond', 'ms'); // PRIORITY\n\n addUnitPriority('millisecond', 16); // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n var token, getSetMillisecond;\n\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false); // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName'); // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n\n return out;\n } // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n\n\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [{\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD'\n }, {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC'\n }],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = toInt(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n }); // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n return duration._bubble();\n } // supports only 2.0-style add(1, 's') or add(duration)\n\n\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n } // supports only 2.0-style subtract(1, 's') or subtract(duration)\n\n\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays; // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n\n if (!(milliseconds >= 0 && days >= 0 && months >= 0 || milliseconds <= 0 && days <= 0 && months <= 0)) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n } // The following code bubbles up values, see the tests for\n // examples of what that means.\n\n\n data.milliseconds = milliseconds % 1000;\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n days += absFloor(hours / 24); // convert days to months\n\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays)); // 12 months -> 1 year\n\n years = absFloor(months / 12);\n months %= 12;\n data.days = days;\n data.months = months;\n data.years = years;\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n\n var days,\n months,\n milliseconds = this._milliseconds;\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n\n switch (units) {\n case 'month':\n return months;\n\n case 'quarter':\n return months / 3;\n\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n\n case 'day':\n return days + milliseconds / 864e5;\n\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n } // TODO: Use this.as('ms')?\n\n\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n\n return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44,\n // a few seconds to seconds\n s: 45,\n // seconds to minute\n m: 45,\n // minutes to hour\n h: 22,\n // hours to day\n d: 26,\n // days to month/week\n w: null,\n // weeks to month\n M: 11 // months to year\n\n }; // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n 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];\n\n if (thresholds.w != null) {\n a = a || weeks <= 1 && ['w'] || weeks < thresholds.w && ['ww', weeks];\n }\n\n a = a || months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || years <= 1 && ['y'] || ['yy', years];\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n } // This function allows you to set the rounding function for relative time strings\n\n\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n\n return false;\n } // This function allows you to set a threshold for relative time strings\n\n\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n\n if (limit === undefined) {\n return thresholds[threshold];\n }\n\n thresholds[threshold] = limit;\n\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (_typeof(argWithSuffix) === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n\n if (_typeof(argThresholds) === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n } // 3600 seconds -> 60 minutes -> 1 hour\n\n\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60; // 12 months -> 1 year\n\n years = absFloor(months / 12);\n months %= 12; // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n return totalSign + 'P' + (years ? ymSign + years + 'Y' : '') + (months ? ymSign + months + 'M' : '') + (days ? daysSign + days + 'D' : '') + (hours || minutes || seconds ? 'T' : '') + (hours ? hmsSign + hours + 'H' : '') + (minutes ? hmsSign + minutes + 'M' : '') + (seconds ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang; // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf'); // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n }); //! moment.js\n\n hooks.version = '2.29.2';\n setHookCallback(createLocal);\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto; // currently HTML5 input type only supports 24-hour formats\n\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',\n // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',\n // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',\n // \n DATE: 'YYYY-MM-DD',\n // \n TIME: 'HH:mm',\n // \n TIME_SECONDS: 'HH:mm:ss',\n // \n TIME_MS: 'HH:mm:ss.SSS',\n // \n WEEK: 'GGGG-[W]WW',\n // \n MONTH: 'YYYY-MM' // \n\n };\n return hooks;\n});","// We need jquery-ujs, not rails-ujs to avoid InvalidAuthenticityToken errors: see https://learnetto.com/blog/rails-ajax\nimport 'jquery-ujs';\nimport 'bootstrap/dist/js/bootstrap';\nimport './helpers/application/tooltips';\nimport './helpers/application/test_env_helper.js.erb';\n","$(() => {\n $('[data-toggle=\"tooltip\"]').tooltip();\n});\n","// from https://itnext.io/how-to-build-a-floating-label-input-field-f9b21669fe2f\n// removed placeholder handling, as it resulted in a \"null\" appearing when there's no placeholder\n$(() => {\n const FloatLabel = (() => {\n // add active class and placeholder\n const handleFocus = (e) => {\n e.target.parentNode.classList.add('active');\n };\n\n // remove active class and placeholder\n const handleBlur = (e) => {\n if (!e.target.value) {\n e.target.parentNode.classList.remove('active');\n }\n };\n\n // register events\n const bindEvents = (element) => {\n const floatField = element.querySelector('input');\n floatField.addEventListener('focus', handleFocus);\n floatField.addEventListener('blur', handleBlur);\n };\n\n // get DOM elements\n const init = () => {\n const floatContainers = document.querySelectorAll('.float-label-container');\n\n floatContainers.forEach((element) => {\n if (element.querySelector('input').value) {\n element.classList.add('active');\n }\n\n bindEvents(element);\n });\n };\n\n return { init };\n })();\n\n FloatLabel.init();\n});\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function isPM(input) {\n return /^nm$/i.test(input);\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1,\n // Maandag is die eerste dag van die week.\n doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n\n }\n });\n return af;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n pluralForm = function pluralForm(n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function pluralize(u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: \"D/\\u200FM/\\u200FYYYY\",\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n preparse: function preparse(string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return ar;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var pluralForm = function pluralForm(n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function pluralize(u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: \"D/\\u200FM/\\u200FYYYY\",\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arDz;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return arKw;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0'\n },\n pluralForm = function pluralForm(n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function pluralize(u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: \"D/\\u200FM/\\u200FYYYY\",\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return arLy;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arMa;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n preparse: function preparse(string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return arSa;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arTn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function isPM(input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function ordinal(number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return az;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n 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];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function nextWeek() {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function isPM(input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? number + '-і' : number + '-ы';\n\n case 'D':\n return number + '-га';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return be;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function ordinal(number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return bg;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return bm;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর'\n },\n preparse: function preparse(string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'রাত' && hour >= 4 || meridiem === 'দুপুর' && hour < 5 || meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর'\n },\n preparse: function preparse(string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bnBd;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split('_'),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ'\n },\n preparse: function preparse(string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'མཚན་མོ' && hour >= 4 || meridiem === 'ཉིན་གུང' && hour < 5 || meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bo;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n\n default:\n return number + ' vloaz';\n }\n }\n\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n\n return number;\n }\n\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n\n return text;\n }\n\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z'\n };\n\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [/^gen/i, /^c[ʼ\\']hwe/i, /^meu/i, /^ebr/i, /^mae/i, /^(mez|eve)/i, /^gou/i, /^eos/i, /^gwe/i, /^her/i, /^du/i, /^ker/i],\n monthsRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex = /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [/^sul/i, /^lun/i, /^meurzh/i, /^merc[ʼ\\']her/i, /^yaou/i, /^gwener/i, /^sadorn/i],\n shortWeekdaysParse = [/^Sul/i, /^Lun/i, /^Meu/i, /^Mer/i, /^Yao/i, /^Gwe/i, /^Sad/i],\n minWeekdaysParse = [/^Su/i, /^Lu/i, /^Me([^r]|$)/i, /^Mer/i, /^Ya/i, /^Gw/i, /^Sa/i];\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function ordinal(number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n meridiemParse: /a.m.|g.m./,\n // goude merenn | a-raok merenn\n isPM: function isPM(token) {\n return token === 'g.m.';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n }\n });\n return br;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n\n return result;\n\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n\n return result;\n\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n\n return result;\n\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n\n case 6:\n return '[prošle] [subote] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return bs;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n 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('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function nextDay() {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [passat a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function ordinal(number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ca;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = {\n format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n standalone: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split('_')\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n\n case 'ss':\n // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n\n case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n\n case 'mm':\n // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n\n case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n\n case 'hh':\n // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n\n case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n\n case 'dd':\n // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n\n case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n\n case 'MM':\n // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n\n case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n\n case 'yy':\n // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY'\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n\n case 3:\n return '[ve středu v] LT';\n\n case 4:\n return '[ve čtvrtek v] LT';\n\n case 5:\n return '[v pátek v] LT';\n\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n\n case 3:\n return '[minulou středu v] LT';\n\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return cs;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return cv;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function ordinal(number) {\n var b = number,\n output = '',\n lookup = ['', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return cy;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return da;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return de;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return deAt;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return deCh;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު'],\n weekdays = ['އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު'];\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM: function isPM(input) {\n return 'މފ' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d'\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7,\n // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return dv;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months: function months(momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function isPM(input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L'\n },\n calendar: function calendar(key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4st is the first week of the year.\n\n }\n });\n return el;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enAu;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n return enCa;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enGb;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enIe;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n return enIl;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return enIn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enNz;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enSg;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function isPM(input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago',\n //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return eo;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n 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],\n 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;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n invalidDate: 'Fecha inválida'\n });\n return es;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n 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],\n 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;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return esDo;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n 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],\n 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;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n invalidDate: 'Fecha inválida'\n });\n return esMx;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n 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],\n 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;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return esUs;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat']\n };\n\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return et;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return eu;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰'\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n 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('_'),\n 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('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function isPM(input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال'\n },\n preparse: function preparse(string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return fa;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', numbersPast[7], numbersPast[8], numbersPast[9]];\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n\n function verbalNumber(number, isFuture) {\n return number < 10 ? isFuture ? numbersFuture[number] : numbersPast[number] : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fi;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function ordinal(number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fil;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fo;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [/^janv/i, /^févr/i, /^mars/i, /^avr/i, /^mai/i, /^juin/i, /^juil/i, /^août/i, /^sept/i, /^oct/i, /^nov/i, /^déc/i];\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n // Words with masculine grammatical gender: mois, trimestre, jour\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fr;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n return frCa;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return frCh;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fy;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Meitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', 'Samhain', 'Nollaig'],\n monthsShort = ['Ean', 'Feabh', 'Márt', 'Aib', 'Beal', 'Meith', 'Iúil', 'Lún', 'M.F.', 'D.F.', 'Samh', 'Noll'],\n weekdays = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Sathairn'],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function ordinal(number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ga;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n 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'],\n monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'],\n weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function ordinal(number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return gd;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function lastDay() {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return gl;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां']\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split('_'),\n isFormat: /MMMM(\\s)+D[oD]?/\n },\n monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]'\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week\n doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n }\n });\n return gomDeva;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam']\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split('_'),\n isFormat: /MMMM(\\s)+D[oD]?/\n },\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week\n doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n return gomLatn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function preparse(string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return gu;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function hh(number) {\n if (number === 2) {\n return 'שעתיים';\n }\n\n return number + ' שעות';\n },\n d: 'יום',\n dd: function dd(number) {\n if (number === 2) {\n return 'יומיים';\n }\n\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function MM(number) {\n if (number === 2) {\n return 'חודשיים';\n }\n\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function yy(number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function isPM(input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n return he;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n },\n monthsParse = [/^जन/i, /^फ़र|फर/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सितं|सित/i, /^अक्टू/i, /^नव|नवं/i, /^दिसं|दिस/i],\n shortMonthsParse = [/^जन/i, /^फ़र/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सित/i, /^अक्टू/i, /^नव/i, /^दिस/i];\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split('_')\n },\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n monthsRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n monthsShortRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n monthsShortStrictRegex: /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष'\n },\n preparse: function preparse(string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return hi;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n\n return result;\n\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n\n return result;\n\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n\n return result;\n\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n\n case 6:\n return '[prošle] [subote] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return hr;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n\n switch (key) {\n case 's':\n return isFuture || withoutSuffix ? 'néhány másodperc' : 'néhány másodperce';\n\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n\n return '';\n }\n\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function isPM(input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function nextWeek() {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function lastWeek() {\n return week.call(this, false);\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return hu;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function nextWeek() {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function lastWeek() {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function isPM(input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function meridiem(hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n\n return number + '-րդ';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return hyAm;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return id;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n\n return true;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n\n return result + 'sekúnda';\n\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n\n return result + 'mínútu';\n\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n\n return result + 'klukkustund';\n\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n\n return isFuture ? 'dag' : 'degi';\n\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n\n return result + (isFuture ? 'dag' : 'degi');\n\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n\n return isFuture ? 'mánuð' : 'mánuði';\n\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n\n return result + (isFuture ? 'mánuð' : 'mánuði');\n\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return is;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[Oggi a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextDay: function nextDay() {\n return '[Domani a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastDay: function lastDay() {\n return '[Ieri a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[La scorsa] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n\n default:\n return '[Lo scorso] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return it;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return itCh;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [{\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R'\n }, {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H'\n }, {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S'\n }, {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T'\n }, {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M'\n }, {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD'\n }, {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC'\n }],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function eraYearOrdinalParse(input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM: function isPM(input) {\n return input === '午後';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function nextWeek(now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function lastWeek(now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年'\n }\n });\n return ja;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return jv;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function past(s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function ordinal(number) {\n if (number === 0) {\n return number;\n }\n\n if (number === 1) {\n return number + '-ლი';\n }\n\n if (number < 20 || number <= 100 && number % 20 === 0 || number % 100 === 0) {\n return 'მე-' + number;\n }\n\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7\n }\n });\n return ka;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function ordinal(number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return kk;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០'\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function isPM(input) {\n return input === 'ល្ងាច';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function preparse(string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return km;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ'\n },\n preparse: function preparse(string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function ordinal(number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return kn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n\n case 'M':\n return number + '월';\n\n case 'w':\n case 'W':\n return number + '주';\n\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function isPM(token) {\n return token === '오후';\n },\n meridiem: function meridiem(hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n return ko;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n months = ['کانونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمموز', 'ئاب', 'ئەیلوول', 'تشرینی یەكەم', 'تشرینی دووەم', 'كانونی یەکەم'];\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function isPM(input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ'\n },\n preparse: function preparse(string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return ku;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function ordinal(number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ky;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n\n return 'an ' + string;\n }\n\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n\n\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n\n if (isNaN(number)) {\n return false;\n }\n\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function lastWeek() {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lb;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function isPM(input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function ordinal(number) {\n return 'ທີ່' + number;\n }\n });\n return lo;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus'\n };\n\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2];\n }\n\n function special(number) {\n return number % 10 === 0 || number > 10 && number < 20;\n }\n\n function forms(key) {\n return units[key].split('_');\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function ordinal(number) {\n return number + '-oji';\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lt;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lv;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {\n return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];\n },\n translate: function translate(number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function lastWeek() {\n 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'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return me;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n 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('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return mi;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function ordinal(number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return mk;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'രാത്രി' && hour >= 4 || meridiem === 'ഉച്ച കഴിഞ്ഞ്' || meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n return ml;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function isPM(input) {\n return input === 'ҮХ';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n\n default:\n return number;\n }\n }\n });\n return mn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n\n case 'ss':\n output = '%d सेकंद';\n break;\n\n case 'm':\n output = 'एक मिनिट';\n break;\n\n case 'mm':\n output = '%d मिनिटे';\n break;\n\n case 'h':\n output = 'एक तास';\n break;\n\n case 'hh':\n output = '%d तास';\n break;\n\n case 'd':\n output = 'एक दिवस';\n break;\n\n case 'dd':\n output = '%d दिवस';\n break;\n\n case 'M':\n output = 'एक महिना';\n break;\n\n case 'MM':\n output = '%d महिने';\n break;\n\n case 'y':\n output = 'एक वर्ष';\n break;\n\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n\n case 'ss':\n output = '%d सेकंदां';\n break;\n\n case 'm':\n output = 'एका मिनिटा';\n break;\n\n case 'mm':\n output = '%d मिनिटां';\n break;\n\n case 'h':\n output = 'एका तासा';\n break;\n\n case 'hh':\n output = '%d तासां';\n break;\n\n case 'd':\n output = 'एका दिवसा';\n break;\n\n case 'dd':\n output = '%d दिवसां';\n break;\n\n case 'M':\n output = 'एका महिन्या';\n break;\n\n case 'MM':\n output = '%d महिन्यां';\n break;\n\n case 'y':\n output = 'एका वर्षा';\n break;\n\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function preparse(string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी' || meridiem === 'सायंकाळी' || meridiem === 'रात्री') {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return mr;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ms;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return msMy;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return mt;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀'\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function preparse(string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return my;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nb;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function preparse(string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return ne;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n 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],\n 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;\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nl;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n 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],\n 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;\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nlBe;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split('_'),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split('_'),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm'\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function ordinal(number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4\n }\n });\n return ocLnc;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ'\n },\n preparse: function preparse(string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return paIn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_'),\n monthsParse = [/^sty/i, /^lut/i, /^mar/i, /^kwi/i, /^maj/i, /^cze/i, /^lip/i, /^sie/i, /^wrz/i, /^paź/i, /^lis/i, /^gru/i];\n\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function months(momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n\n case 3:\n return '[W zeszłą środę o] LT';\n\n case 6:\n return '[W zeszłą sobotę o] LT';\n\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return pl;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function lastWeek() {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return pt;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split('_'),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function lastWeek() {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida'\n });\n return ptBr;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani'\n },\n separator = ' ';\n\n if (number % 100 >= 20 || number >= 100 && number % 100 === 0) {\n separator = ' de ';\n }\n\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ro;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n 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];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i]; // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function nextWeek(now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function lastWeek(now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function isPM(input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n\n case 'D':\n return number + '-го';\n\n case 'w':\n case 'W':\n return number + '-я';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ru;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['جنوري', 'فيبروري', 'مارچ', 'اپريل', 'مئي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function isPM(input) {\n return 'شام' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال'\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sd;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n 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('_'),\n monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return se;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n /*jshint -W100*/\n\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function ordinal(number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function isPM(input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n return si;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n\n function plural(n) {\n return n > 1 && n < 5;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n\n case 'ss':\n // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n\n case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n\n case 'mm':\n // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n\n case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n\n case 'hh':\n // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n\n case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n\n case 'dd':\n // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n\n case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n\n case 'MM':\n // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n\n case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n\n case 'yy':\n // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n\n case 3:\n return '[v stredu o] LT';\n\n case 4:\n return '[vo štvrtok o] LT';\n\n case 5:\n return '[v piatok o] LT';\n\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n\n case 3:\n return '[minulú stredu o] LT';\n\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sk;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n\n return result;\n\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n\n return result;\n\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n\n return result;\n\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n\n case 3:\n return '[v] [sredo] [ob] LT';\n\n case 6:\n return '[v] [soboto] [ob] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sl;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function isPM(input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sq;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina']\n },\n correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {\n if (number % 10 >= 1 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n\n return wordKey[2];\n },\n translate: function translate(number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n var word = translator.correctGrammaticalCase(number, wordKey); // Nominativ\n\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n }\n };\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n\n case 3:\n return '[u] [sredu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function lastWeek() {\n 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'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sr;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година']\n },\n correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {\n if (number % 10 >= 1 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n\n return wordKey[2];\n },\n translate: function translate(number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n var word = translator.correctGrammaticalCase(number, wordKey); // Nominativ\n\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n }\n };\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n\n case 3:\n return '[у] [среду] [у] LT';\n\n case 6:\n return '[у] [суботу] [у] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function lastWeek() {\n var lastWeekDays = ['[прошле] [недеље] [у] LT', '[прошлог] [понедељка] [у] LT', '[прошлог] [уторка] [у] LT', '[прошле] [среде] [у] LT', '[прошлог] [четвртка] [у] LT', '[прошлог] [петка] [у] LT', '[прошле] [суботе] [у] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return srCyrl;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ss;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? ':e' : b === 1 ? ':a' : b === 2 ? ':a' : b === 3 ? ':e' : ':e';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sv;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sw;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦'\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function ordinal(number) {\n return number + 'வது';\n },\n preparse: function preparse(string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return ta;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return te;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tet;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split('_'),\n standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_')\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function ordinal(number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1th is the first week of the year.\n\n }\n });\n return tg;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'),\n // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function isPM(input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี'\n }\n });\n return th;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\"\n };\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split('_'),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split('_'),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl'\n },\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return tk;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function ordinal(number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tlPh;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n 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';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n 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';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n\n case 'mm':\n return numberNoun + ' tup';\n\n case 'hh':\n return numberNoun + ' rep';\n\n case 'dd':\n return numberNoun + ' jaj';\n\n case 'MM':\n return numberNoun + ' jar';\n\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor(number % 1000 / 100),\n ten = Math.floor(number % 100 / 10),\n one = number % 10,\n word = '';\n\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n 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('_'),\n 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('_'),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tlh;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\"\n };\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function isPM(input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl'\n },\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return tr;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function isPM(input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : withoutSuffix ? format[key][0] : format[key][1];\n }\n\n return tzl;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return tzm;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn'\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return tzmLatn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split('_'),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'يېرىم كېچە' || meridiem === 'سەھەر' || meridiem === 'چۈشتىن بۇرۇن') {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n\n default:\n return number;\n }\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return ugCn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n 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];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));\n }\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format) ? 'accusative' : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format) ? 'genitive' : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function isPM(input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n\n case 'D':\n return number + '-го';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return uk;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function isPM(input) {\n return 'شام' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال'\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ur;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return uz;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return uzLatn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n 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('_'),\n monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split('_'),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function isPM(input) {\n return /^ch$/i.test(input);\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function ordinal(number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return vi;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n 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('_'),\n monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact: true,\n weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return xPseudo;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d'\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return yo;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function nextWeek(now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function lastWeek(now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '周';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年'\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return zhCn;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhHk;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhMo;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n;\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhTw;\n});","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\n/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof2(exports)) === 'object' && (typeof module === \"undefined\" ? \"undefined\" : _typeof2(module)) === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define([], factory);else if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof2(exports)) === 'object') exports[\"Quill\"] = factory();else root[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function () {\n return (\n /******/\n function (modules) {\n // webpackBootstrap\n\n /******/\n // The module cache\n\n /******/\n var installedModules = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __webpack_require__(moduleId) {\n /******/\n\n /******/\n // Check if module is in cache\n\n /******/\n if (installedModules[moduleId]) {\n /******/\n return installedModules[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = installedModules[moduleId] = {\n /******/\n i: moduleId,\n\n /******/\n l: false,\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n\n /******/\n // Flag the module as loaded\n\n /******/\n\n module.l = true;\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n return module.exports;\n /******/\n }\n /******/\n\n /******/\n\n /******/\n // expose the modules object (__webpack_modules__)\n\n /******/\n\n\n __webpack_require__.m = modules;\n /******/\n\n /******/\n // expose the module cache\n\n /******/\n\n __webpack_require__.c = installedModules;\n /******/\n\n /******/\n // define getter function for harmony exports\n\n /******/\n\n __webpack_require__.d = function (exports, name, getter) {\n /******/\n if (!__webpack_require__.o(exports, name)) {\n /******/\n Object.defineProperty(exports, name, {\n /******/\n configurable: false,\n\n /******/\n enumerable: true,\n\n /******/\n get: getter\n /******/\n\n });\n /******/\n }\n /******/\n\n };\n /******/\n\n /******/\n // getDefaultExport function for compatibility with non-harmony modules\n\n /******/\n\n\n __webpack_require__.n = function (module) {\n /******/\n var getter = module && module.__esModule ?\n /******/\n function getDefault() {\n return module['default'];\n } :\n /******/\n function getModuleExports() {\n return module;\n };\n /******/\n\n __webpack_require__.d(getter, 'a', getter);\n /******/\n\n\n return getter;\n /******/\n };\n /******/\n\n /******/\n // Object.prototype.hasOwnProperty.call\n\n /******/\n\n\n __webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n\n /******/\n // __webpack_public_path__\n\n /******/\n\n\n __webpack_require__.p = \"\";\n /******/\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n return __webpack_require__(__webpack_require__.s = 109);\n /******/\n }\n /************************************************************************/\n\n /******/\n ([\n /* 0 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var container_1 = __webpack_require__(17);\n\n var format_1 = __webpack_require__(18);\n\n var leaf_1 = __webpack_require__(19);\n\n var scroll_1 = __webpack_require__(45);\n\n var inline_1 = __webpack_require__(46);\n\n var block_1 = __webpack_require__(47);\n\n var embed_1 = __webpack_require__(48);\n\n var text_1 = __webpack_require__(49);\n\n var attributor_1 = __webpack_require__(12);\n\n var class_1 = __webpack_require__(32);\n\n var style_1 = __webpack_require__(33);\n\n var store_1 = __webpack_require__(31);\n\n var Registry = __webpack_require__(1);\n\n var Parchment = {\n Scope: Registry.Scope,\n create: Registry.create,\n find: Registry.find,\n query: Registry.query,\n register: Registry.register,\n Container: container_1.default,\n Format: format_1.default,\n Leaf: leaf_1.default,\n Embed: embed_1.default,\n Scroll: scroll_1.default,\n Block: block_1.default,\n Inline: inline_1.default,\n Text: text_1.default,\n Attributor: {\n Attribute: attributor_1.default,\n Class: class_1.default,\n Style: style_1.default,\n Store: store_1.default\n }\n };\n exports.default = Parchment;\n /***/\n },\n /* 1 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var ParchmentError =\n /** @class */\n function (_super) {\n __extends(ParchmentError, _super);\n\n function ParchmentError(message) {\n var _this = this;\n\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n\n return ParchmentError;\n }(Error);\n\n exports.ParchmentError = ParchmentError;\n var attributes = {};\n var classes = {};\n var tags = {};\n var types = {};\n exports.DATA_KEY = '__blot';\n var Scope;\n\n (function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n })(Scope = exports.Scope || (exports.Scope = {}));\n\n function create(input, value) {\n var match = query(input);\n\n if (match == null) {\n throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n }\n\n var BlotClass = match;\n var node = // @ts-ignore\n input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n return new BlotClass(node, value);\n }\n\n exports.create = create;\n\n function find(node, bubble) {\n if (bubble === void 0) {\n bubble = false;\n }\n\n if (node == null) return null; // @ts-ignore\n\n if (node[exports.DATA_KEY] != null) return node[exports.DATA_KEY].blot;\n if (bubble) return find(node.parentNode, bubble);\n return null;\n }\n\n exports.find = find;\n\n function query(query, scope) {\n if (scope === void 0) {\n scope = Scope.ANY;\n }\n\n var match;\n\n if (typeof query === 'string') {\n match = types[query] || attributes[query]; // @ts-ignore\n } else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n } else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n } else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\n } else if (query instanceof HTMLElement) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n\n for (var i in names) {\n match = classes[names[i]];\n if (match) break;\n }\n\n match = match || tags[query.tagName];\n }\n\n if (match == null) return null; // @ts-ignore\n\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope) return match;\n return null;\n }\n\n exports.query = query;\n\n function register() {\n var Definitions = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n Definitions[_i] = arguments[_i];\n }\n\n if (Definitions.length > 1) {\n return Definitions.map(function (d) {\n return register(d);\n });\n }\n\n var Definition = Definitions[0];\n\n if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n throw new ParchmentError('Invalid definition');\n } else if (Definition.blotName === 'abstract') {\n throw new ParchmentError('Cannot register abstract class');\n }\n\n types[Definition.blotName || Definition.attrName] = Definition;\n\n if (typeof Definition.keyName === 'string') {\n attributes[Definition.keyName] = Definition;\n } else {\n if (Definition.className != null) {\n classes[Definition.className] = Definition;\n }\n\n if (Definition.tagName != null) {\n if (Array.isArray(Definition.tagName)) {\n Definition.tagName = Definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n } else {\n Definition.tagName = Definition.tagName.toUpperCase();\n }\n\n var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n tagNames.forEach(function (tag) {\n if (tags[tag] == null || Definition.className == null) {\n tags[tag] = Definition;\n }\n });\n }\n }\n\n return Definition;\n }\n\n exports.register = register;\n /***/\n },\n /* 2 */\n\n /***/\n function (module, exports, __webpack_require__) {\n var diff = __webpack_require__(51);\n\n var equal = __webpack_require__(11);\n\n var extend = __webpack_require__(3);\n\n var op = __webpack_require__(20);\n\n var NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n var Delta = function Delta(ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n } else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n } else {\n this.ops = [];\n }\n };\n\n Delta.prototype.insert = function (text, attributes) {\n var newOp = {};\n if (text.length === 0) return this;\n newOp.insert = text;\n\n if (attributes != null && _typeof2(attributes) === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n\n return this.push(newOp);\n };\n\n Delta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({\n 'delete': length\n });\n };\n\n Delta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = {\n retain: length\n };\n\n if (attributes != null && _typeof2(attributes) === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n\n return this.push(newOp);\n };\n\n Delta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = extend(true, {}, newOp);\n\n if (_typeof2(lastOp) === 'object') {\n if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n this.ops[index - 1] = {\n 'delete': lastOp['delete'] + newOp['delete']\n };\n return this;\n } // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n\n\n if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n\n if (_typeof2(lastOp) !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n\n if (equal(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n this.ops[index - 1] = {\n insert: lastOp.insert + newOp.insert\n };\n if (_typeof2(newOp.attributes) === 'object') this.ops[index - 1].attributes = newOp.attributes;\n return this;\n } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n this.ops[index - 1] = {\n retain: lastOp.retain + newOp.retain\n };\n if (_typeof2(newOp.attributes) === 'object') this.ops[index - 1].attributes = newOp.attributes;\n return this;\n }\n }\n }\n\n if (index === this.ops.length) {\n this.ops.push(newOp);\n } else {\n this.ops.splice(index, 0, newOp);\n }\n\n return this;\n };\n\n Delta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n\n return this;\n };\n\n Delta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n };\n\n Delta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n };\n\n Delta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n };\n\n Delta.prototype.partition = function (predicate) {\n var passed = [],\n failed = [];\n this.forEach(function (op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n };\n\n Delta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n };\n\n Delta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + op.length(elem);\n } else if (elem.delete) {\n return length - elem.delete;\n }\n\n return length;\n }, 0);\n };\n\n Delta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n };\n\n Delta.prototype.slice = function (start, end) {\n start = start || 0;\n if (typeof end !== 'number') end = Infinity;\n var ops = [];\n var iter = op.iterator(this.ops);\n var index = 0;\n\n while (index < end && iter.hasNext()) {\n var nextOp;\n\n if (index < start) {\n nextOp = iter.next(start - index);\n } else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n\n index += op.length(nextOp);\n }\n\n return new Delta(ops);\n };\n\n Delta.prototype.compose = function (other) {\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n\n if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n\n while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n\n var delta = new Delta(ops);\n\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length;\n } else {\n newOp.insert = thisOp.insert;\n } // Preserve null when composing with a retain, otherwise remove it for inserts\n\n\n var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) newOp.attributes = attributes;\n delta.push(newOp); // Optimization if rest of other is just retain\n\n if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n } // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n\n } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n\n return delta.chop();\n };\n\n Delta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n\n return delta;\n };\n\n Delta.prototype.diff = function (other, index) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n\n var strings = [this, other].map(function (delta) {\n return delta.map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n\n var prep = delta === other ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n }).join('');\n });\n var delta = new Delta();\n var diffResult = diff(strings[0], strings[1], index);\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n\n while (length > 0) {\n var opLength = 0;\n\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n delta.push(otherIter.next(opLength));\n break;\n\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n delta['delete'](opLength);\n break;\n\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n\n if (equal(thisOp.insert, otherOp.insert)) {\n delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n } else {\n delta.push(otherOp)['delete'](opLength);\n }\n\n break;\n }\n\n length -= opLength;\n }\n });\n return delta.chop();\n };\n\n Delta.prototype.eachLine = function (predicate, newline) {\n newline = newline || '\\n';\n var iter = op.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') return;\n var thisOp = iter.peek();\n var start = op.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string' ? thisOp.insert.indexOf(newline, start) - start : -1;\n\n if (index < 0) {\n line.push(iter.next());\n } else if (index > 0) {\n line.push(iter.next(index));\n } else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n\n i += 1;\n line = new Delta();\n }\n }\n\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n };\n\n Delta.prototype.transform = function (other, priority) {\n priority = !!priority;\n\n if (typeof other === 'number') {\n return this.transformPosition(other, priority);\n }\n\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var delta = new Delta();\n\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(op.length(thisIter.next()));\n } else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n\n if (thisOp['delete']) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n } else if (otherOp['delete']) {\n delta.push(otherOp);\n } else {\n // We retain either their retain or insert\n delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n\n return delta.chop();\n };\n\n Delta.prototype.transformPosition = function (index, priority) {\n priority = !!priority;\n var thisIter = op.iterator(this.ops);\n var offset = 0;\n\n while (thisIter.hasNext() && offset <= index) {\n var length = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n } else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n\n offset += length;\n }\n\n return index;\n };\n\n module.exports = Delta;\n /***/\n },\n /* 3 */\n\n /***/\n function (module, exports) {\n 'use strict';\n\n var hasOwn = Object.prototype.hasOwnProperty;\n var toStr = Object.prototype.toString;\n var defineProperty = Object.defineProperty;\n var gOPD = Object.getOwnPropertyDescriptor;\n\n var isArray = function isArray(arr) {\n if (typeof Array.isArray === 'function') {\n return Array.isArray(arr);\n }\n\n return toStr.call(arr) === '[object Array]';\n };\n\n var isPlainObject = function isPlainObject(obj) {\n if (!obj || toStr.call(obj) !== '[object Object]') {\n return false;\n }\n\n var hasOwnConstructor = hasOwn.call(obj, 'constructor');\n var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); // Not own constructor property must be Object\n\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n return false;\n } // Own properties are enumerated firstly, so to speed up,\n // if last one is own, then all properties are own.\n\n\n var key;\n\n for (key in obj) {\n /**/\n }\n\n return typeof key === 'undefined' || hasOwn.call(obj, key);\n }; // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\n\n\n var setProperty = function setProperty(target, options) {\n if (defineProperty && options.name === '__proto__') {\n defineProperty(target, options.name, {\n enumerable: true,\n configurable: true,\n value: options.newValue,\n writable: true\n });\n } else {\n target[options.name] = options.newValue;\n }\n }; // Return undefined instead of __proto__ if '__proto__' is not an own property\n\n\n var getProperty = function getProperty(obj, name) {\n if (name === '__proto__') {\n if (!hasOwn.call(obj, name)) {\n return void 0;\n } else if (gOPD) {\n // In early versions of node, obj['__proto__'] is buggy when obj has\n // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n return gOPD(obj, name).value;\n }\n }\n\n return obj[name];\n };\n\n module.exports = function extend() {\n var options, name, src, copy, copyIsArray, clone;\n var target = arguments[0];\n var i = 1;\n var length = arguments.length;\n var deep = false; // Handle a deep copy situation\n\n if (typeof target === 'boolean') {\n deep = target;\n target = arguments[1] || {}; // skip the boolean and the target\n\n i = 2;\n }\n\n if (target == null || _typeof2(target) !== 'object' && typeof target !== 'function') {\n target = {};\n }\n\n for (; i < length; ++i) {\n options = arguments[i]; // Only deal with non-null/undefined values\n\n if (options != null) {\n // Extend the base object\n for (name in options) {\n src = getProperty(target, name);\n copy = getProperty(options, name); // Prevent never-ending loop\n\n if (target !== copy) {\n // Recurse if we're merging plain objects or arrays\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && isArray(src) ? src : [];\n } else {\n clone = src && isPlainObject(src) ? src : {};\n } // Never move original objects, clone them\n\n\n setProperty(target, {\n name: name,\n newValue: extend(deep, clone, copy)\n }); // Don't bring in undefined values\n } else if (typeof copy !== 'undefined') {\n setProperty(target, {\n name: name,\n newValue: copy\n });\n }\n }\n }\n }\n } // Return the modified object\n\n\n return target;\n };\n /***/\n\n },\n /* 4 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _extend = __webpack_require__(3);\n\n var _extend2 = _interopRequireDefault(_extend);\n\n var _quillDelta = __webpack_require__(2);\n\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _break = __webpack_require__(16);\n\n var _break2 = _interopRequireDefault(_break);\n\n var _inline = __webpack_require__(6);\n\n var _inline2 = _interopRequireDefault(_inline);\n\n var _text = __webpack_require__(7);\n\n var _text2 = _interopRequireDefault(_text);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var NEWLINE_LENGTH = 1;\n\n var BlockEmbed = function (_Parchment$Embed) {\n _inherits(BlockEmbed, _Parchment$Embed);\n\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n\n return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n }\n\n _createClass(BlockEmbed, [{\n key: 'attach',\n value: function attach() {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n\n this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n }\n }, {\n key: 'delta',\n value: function delta() {\n return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n this.format(name, value);\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n var block = _parchment2.default.create(Block.blotName);\n\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n }\n }\n }]);\n\n return BlockEmbed;\n }(_parchment2.default.Embed);\n\n BlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT; // It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n var Block = function (_Parchment$Block) {\n _inherits(Block, _Parchment$Block);\n\n function Block(domNode) {\n _classCallCheck(this, Block);\n\n var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n _this2.cache = {};\n return _this2;\n }\n\n _createClass(Block, [{\n key: 'delta',\n value: function delta() {\n if (this.cache.delta == null) {\n this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n if (leaf.length() === 0) {\n return delta;\n } else {\n return delta.insert(leaf.value(), bubbleFormats(leaf));\n }\n }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n }\n\n return this.cache.delta;\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n\n this.cache = {};\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length <= 0) return;\n\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n }\n\n this.cache = {};\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n if (value.length === 0) return;\n var lines = value.split('\\n');\n var text = lines.shift();\n\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n\n this.cache = {};\n }\n\n var block = this;\n lines.reduce(function (index, line) {\n block = block.split(index, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n var head = this.children.head;\n\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n\n if (head instanceof _break2.default) {\n head.remove();\n }\n\n this.cache = {};\n }\n }, {\n key: 'length',\n value: function length() {\n if (this.cache.length == null) {\n this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n }\n\n return this.cache.length;\n }\n }, {\n key: 'moveChildren',\n value: function moveChildren(target, ref) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n\n this.cache = {};\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n\n this.cache = {};\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n }\n }, {\n key: 'removeChild',\n value: function removeChild(child) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n\n this.cache = {};\n }\n }, {\n key: 'split',\n value: function split(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n var clone = this.clone();\n\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n } else {\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n } else {\n var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n\n this.cache = {};\n return next;\n }\n }\n }]);\n\n return Block;\n }(_parchment2.default.Block);\n\n Block.blotName = 'block';\n Block.tagName = 'P';\n Block.defaultChild = 'break';\n Block.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\n function bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (blot == null) return formats;\n\n if (typeof blot.formats === 'function') {\n formats = (0, _extend2.default)(formats, blot.formats());\n }\n\n if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n\n return bubbleFormats(blot.parent, formats);\n }\n\n exports.bubbleFormats = bubbleFormats;\n exports.BlockEmbed = BlockEmbed;\n exports.default = Block;\n /***/\n },\n /* 5 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.overload = exports.expandConfig = undefined;\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n __webpack_require__(50);\n\n var _quillDelta = __webpack_require__(2);\n\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n\n var _editor = __webpack_require__(14);\n\n var _editor2 = _interopRequireDefault(_editor);\n\n var _emitter3 = __webpack_require__(8);\n\n var _emitter4 = _interopRequireDefault(_emitter3);\n\n var _module = __webpack_require__(9);\n\n var _module2 = _interopRequireDefault(_module);\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _selection = __webpack_require__(15);\n\n var _selection2 = _interopRequireDefault(_selection);\n\n var _extend = __webpack_require__(3);\n\n var _extend2 = _interopRequireDefault(_extend);\n\n var _logger = __webpack_require__(10);\n\n var _logger2 = _interopRequireDefault(_logger);\n\n var _theme = __webpack_require__(34);\n\n var _theme2 = _interopRequireDefault(_theme);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var debug = (0, _logger2.default)('quill');\n\n var Quill = function () {\n _createClass(Quill, null, [{\n key: 'debug',\n value: function debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n\n _logger2.default.level(limit);\n }\n }, {\n key: 'find',\n value: function find(node) {\n return node.__quill || _parchment2.default.find(node);\n }\n }, {\n key: 'import',\n value: function _import(name) {\n if (this.imports[name] == null) {\n debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n }\n\n return this.imports[name];\n }\n }, {\n key: 'register',\n value: function register(path, target) {\n var _this = this;\n\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (typeof path !== 'string') {\n var name = path.attrName || path.blotName;\n\n if (typeof name === 'string') {\n // register(Blot | Attributor, overwrite)\n this.register('formats/' + name, path, target);\n } else {\n Object.keys(path).forEach(function (key) {\n _this.register(key, path[key], target);\n });\n }\n } else {\n if (this.imports[path] != null && !overwrite) {\n debug.warn('Overwriting ' + path + ' with', target);\n }\n\n this.imports[path] = target;\n\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n _parchment2.default.register(target);\n } else if (path.startsWith('modules') && typeof target.register === 'function') {\n target.register();\n }\n }\n }\n }]);\n\n function Quill(container) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Quill);\n\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n\n if (this.container == null) {\n return debug.error('Invalid Quill container', container);\n }\n\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n\n var html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n this.container.__quill = this;\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.root.setAttribute('data-gramm', false);\n this.scrollingContainer = this.options.scrollingContainer || this.root;\n this.emitter = new _emitter4.default();\n this.scroll = _parchment2.default.create(this.root, {\n emitter: this.emitter,\n whitelist: this.options.formats\n });\n this.editor = new _editor2.default(this.scroll);\n this.selection = new _selection2.default(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options);\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.theme.init();\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n if (type === _emitter4.default.events.TEXT_CHANGE) {\n _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n var range = _this2.selection.lastRange;\n var index = range && range.length === 0 ? range.index : undefined;\n modify.call(_this2, function () {\n return _this2.editor.update(null, mutations, index);\n }, source);\n });\n var contents = this.clipboard.convert('
' + html + '


');\n this.setContents(contents);\n this.history.clear();\n\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n\n if (this.options.readOnly) {\n this.disable();\n }\n }\n\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length, source) {\n var _this3 = this;\n\n var _overload = overload(index, length, source);\n\n var _overload2 = _slicedToArray(_overload, 4);\n\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n return modify.call(this, function () {\n return _this3.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: 'disable',\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: 'focus',\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var _this4 = this;\n\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n return modify.call(this, function () {\n var range = _this4.getSelection(true);\n\n var change = new _quillDelta2.default();\n\n if (range == null) {\n return change;\n } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this4.selection.format(name, value);\n\n return change;\n } else {\n change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n\n _this4.setSelection(range, _emitter4.default.sources.SILENT);\n\n return change;\n }, source);\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length, name, value, source) {\n var _this5 = this;\n\n var formats = void 0;\n\n var _overload3 = overload(index, length, name, value, source);\n\n var _overload4 = _slicedToArray(_overload3, 4);\n\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n return modify.call(this, function () {\n return _this5.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length, name, value, source) {\n var _this6 = this;\n\n var formats = void 0;\n\n var _overload5 = overload(index, length, name, value, source);\n\n var _overload6 = _slicedToArray(_overload5, 4);\n\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n return modify.call(this, function () {\n return _this6.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var bounds = void 0;\n\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: 'getContents',\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload7 = overload(index, length);\n\n var _overload8 = _slicedToArray(_overload7, 2);\n\n index = _overload8[0];\n length = _overload8[1];\n return this.editor.getContents(index, length);\n }\n }, {\n key: 'getFormat',\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n } else {\n return this.editor.getFormat(index.index, index.length);\n }\n }\n }, {\n key: 'getIndex',\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: 'getLeaf',\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: 'getLine',\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: 'getLines',\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n } else {\n return this.scroll.lines(index, length);\n }\n }\n }, {\n key: 'getModule',\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: 'getSelection',\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n\n return this.selection.getRange()[0];\n }\n }, {\n key: 'getText',\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload9 = overload(index, length);\n\n var _overload10 = _slicedToArray(_overload9, 2);\n\n index = _overload10[0];\n length = _overload10[1];\n return this.editor.getText(index, length);\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n var _this7 = this;\n\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n return modify.call(this, function () {\n return _this7.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text, name, value, source) {\n var _this8 = this;\n\n var formats = void 0;\n\n var _overload11 = overload(index, 0, name, value, source);\n\n var _overload12 = _slicedToArray(_overload11, 4);\n\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n return modify.call(this, function () {\n return _this8.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return !this.container.classList.contains('ql-disabled');\n }\n }, {\n key: 'off',\n value: function off() {\n return this.emitter.off.apply(this.emitter, arguments);\n }\n }, {\n key: 'on',\n value: function on() {\n return this.emitter.on.apply(this.emitter, arguments);\n }\n }, {\n key: 'once',\n value: function once() {\n return this.emitter.once.apply(this.emitter, arguments);\n }\n }, {\n key: 'pasteHTML',\n value: function pasteHTML(index, html, source) {\n this.clipboard.dangerouslyPasteHTML(index, html, source);\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length, source) {\n var _this9 = this;\n\n var _overload13 = overload(index, length, source);\n\n var _overload14 = _slicedToArray(_overload13, 4);\n\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n return modify.call(this, function () {\n return _this9.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: 'setContents',\n value: function setContents(delta) {\n var _this10 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n\n var length = _this10.getLength();\n\n var deleted = _this10.editor.deleteText(0, length);\n\n var applied = _this10.editor.applyDelta(delta);\n\n var lastOp = applied.ops[applied.ops.length - 1];\n\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n _this10.editor.deleteText(_this10.getLength() - 1, 1);\n\n applied.delete(1);\n }\n\n var ret = deleted.compose(applied);\n return ret;\n }, source);\n }\n }, {\n key: 'setSelection',\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload15 = overload(index, length, source);\n\n var _overload16 = _slicedToArray(_overload15, 4);\n\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n this.selection.setRange(new _selection.Range(index, length), source);\n\n if (source !== _emitter4.default.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n var delta = new _quillDelta2.default().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n\n this.selection.update(source);\n return change;\n }\n }, {\n key: 'updateContents',\n value: function updateContents(delta) {\n var _this11 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n return _this11.editor.applyDelta(delta, source);\n }, source, true);\n }\n }]);\n\n return Quill;\n }();\n\n Quill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n };\n Quill.events = _emitter4.default.events;\n Quill.sources = _emitter4.default.sources; // eslint-disable-next-line no-undef\n\n Quill.version = false ? 'dev' : \"1.3.7\";\n Quill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n };\n\n function expandConfig(container, userConfig) {\n userConfig = (0, _extend2.default)(true, {\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true\n }\n }, userConfig);\n\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme2.default;\n } else {\n userConfig.theme = Quill.import('themes/' + userConfig.theme);\n\n if (userConfig.theme == null) {\n throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n }\n }\n\n var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import('modules/' + name);\n\n if (moduleClass == null) {\n debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n\n return config;\n }, {}); // Special case toolbar shorthand\n\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n\n userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, {\n modules: moduleConfig\n }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n\n return config;\n }, {});\n return userConfig;\n } // Handle selection preservation and TEXT_CHANGE emission\n // common to modification APIs\n\n\n function modify(modifier, source, index, shift) {\n if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n return new _quillDelta2.default();\n }\n\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n\n if (range != null) {\n if (index === true) index = range.index;\n\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n\n this.setSelection(range, _emitter4.default.sources.SILENT);\n }\n\n if (change.length() > 0) {\n var _emitter;\n\n var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n\n return change;\n }\n\n function overload(index, length, name, value, source) {\n var formats = {};\n\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value, value = name, name = length, length = index.length, index = index.index;\n } else {\n length = index.length, index = index.index;\n }\n } else if (typeof length !== 'number') {\n source = value, value = name, name = length, length = 0;\n } // Handle format being object, two format name/value strings or excluded\n\n\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n } // Handle optional source\n\n\n source = source || _emitter4.default.sources.API;\n return [index, length, formats, source];\n }\n\n function shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start = void 0,\n end = void 0;\n\n if (index instanceof _quillDelta2.default) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n\n if (length >= 0) {\n return pos + length;\n } else {\n return Math.max(index, pos + length);\n }\n });\n\n var _map4 = _slicedToArray(_map3, 2);\n\n start = _map4[0];\n end = _map4[1];\n }\n\n return new _selection.Range(start, end - start);\n }\n\n exports.expandConfig = expandConfig;\n exports.overload = overload;\n exports.default = Quill;\n /***/\n },\n /* 6 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _text = __webpack_require__(7);\n\n var _text2 = _interopRequireDefault(_text);\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n\n function Inline() {\n _classCallCheck(this, Inline);\n\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\n\n _createClass(Inline, [{\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: 'compare',\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n }]);\n\n return Inline;\n }(_parchment2.default.Inline);\n\n Inline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default]; // Lower index means deeper in the DOM tree, since not found (-1) is for embeds\n\n Inline.order = ['cursor', 'inline', // Must be lower\n 'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n ];\n exports.default = Inline;\n /***/\n },\n /* 7 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n\n return TextBlot;\n }(_parchment2.default.Text);\n\n exports.default = TextBlot;\n /***/\n },\n /* 8 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _eventemitter = __webpack_require__(54);\n\n var _eventemitter2 = _interopRequireDefault(_eventemitter);\n\n var _logger = __webpack_require__(10);\n\n var _logger2 = _interopRequireDefault(_logger);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var debug = (0, _logger2.default)('quill:events');\n var EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n EVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n // TODO use WeakMap\n if (node.__quill && node.__quill.emitter) {\n var _node$__quill$emitter;\n\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n });\n\n var Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n _this.listeners = {};\n\n _this.on('error', debug.error);\n\n return _this;\n }\n\n _createClass(Emitter, [{\n key: 'emit',\n value: function emit() {\n debug.log.apply(debug, arguments);\n\n _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n }\n }, {\n key: 'handleDOM',\n value: function handleDOM(event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n\n if (event.target === node || node.contains(event.target)) {\n handler.apply(undefined, [event].concat(args));\n }\n });\n }\n }, {\n key: 'listenDOM',\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n\n this.listeners[eventName].push({\n node: node,\n handler: handler\n });\n }\n }]);\n\n return Emitter;\n }(_eventemitter2.default);\n\n Emitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change'\n };\n Emitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n };\n exports.default = Emitter;\n /***/\n },\n /* 9 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Module);\n\n this.quill = quill;\n this.options = options;\n };\n\n Module.DEFAULTS = {};\n exports.default = Module;\n /***/\n },\n /* 10 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var levels = ['error', 'warn', 'log', 'info'];\n var level = 'warn';\n\n function debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n\n }\n }\n\n function namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n }\n\n debug.level = namespace.level = function (newLevel) {\n level = newLevel;\n };\n\n exports.default = namespace;\n /***/\n },\n /* 11 */\n\n /***/\n function (module, exports, __webpack_require__) {\n var pSlice = Array.prototype.slice;\n\n var objectKeys = __webpack_require__(52);\n\n var isArguments = __webpack_require__(53);\n\n var deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {}; // 7.1. All identical values are equivalent, as determined by ===.\n\n if (actual === expected) {\n return true;\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime(); // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || _typeof2(actual) != 'object' && _typeof2(expected) != 'object') {\n return opts.strict ? actual === expected : actual == expected; // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n };\n\n function isUndefinedOrNull(value) {\n return value === null || value === undefined;\n }\n\n function isBuffer(x) {\n if (!x || _typeof2(x) !== 'object' || typeof x.length !== 'number') return false;\n\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n }\n\n function objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) return false; // an identical 'prototype' property.\n\n if (a.prototype !== b.prototype) return false; //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n\n if (a.length !== b.length) return false;\n\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {\n //happens when one is a string literal and the other isn't\n return false;\n } // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n\n\n if (ka.length != kb.length) return false; //the same set of keys (although not necessarily the same order),\n\n ka.sort();\n kb.sort(); //~~~cheap key test\n\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) return false;\n } //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n\n\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n\n return _typeof2(a) === _typeof2(b);\n }\n /***/\n\n },\n /* 12 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var Registry = __webpack_require__(1);\n\n var Attributor =\n /** @class */\n function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) {\n options = {};\n }\n\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = options.scope & Registry.Scope.LEVEL | attributeBit;\n } else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n\n if (options.whitelist != null) this.whitelist = options.whitelist;\n }\n\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value)) return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null) return false;\n if (this.whitelist == null) return true;\n\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n } else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n\n if (this.canAdd(node, value) && value) {\n return value;\n }\n\n return '';\n };\n\n return Attributor;\n }();\n\n exports.default = Attributor;\n /***/\n },\n /* 13 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.Code = undefined;\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _quillDelta = __webpack_require__(2);\n\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _block = __webpack_require__(4);\n\n var _block2 = _interopRequireDefault(_block);\n\n var _inline = __webpack_require__(6);\n\n var _inline2 = _interopRequireDefault(_inline);\n\n var _text = __webpack_require__(7);\n\n var _text2 = _interopRequireDefault(_text);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Code = function (_Inline) {\n _inherits(Code, _Inline);\n\n function Code() {\n _classCallCheck(this, Code);\n\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n\n return Code;\n }(_inline2.default);\n\n Code.blotName = 'code';\n Code.tagName = 'CODE';\n\n var CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n\n var text = this.domNode.textContent;\n\n if (text.endsWith('\\n')) {\n // Should always be true\n text = text.slice(0, -1);\n }\n\n return text.split('\\n').reduce(function (delta, frag) {\n return delta.insert(frag).insert('\\n', _this3.formats());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (name === this.statics.blotName && value) return;\n\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length === 0) return;\n\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n return;\n }\n\n var nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n var prevNewline = this.newlineIndex(index, true) + 1;\n var isolateLength = nextNewline - prevNewline + 1;\n var blot = this.isolate(prevNewline, isolateLength);\n var next = blot.next;\n blot.format(name, value);\n\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return;\n\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n\n text.insertAt(offset, value);\n }\n }, {\n key: 'length',\n value: function length() {\n var length = this.domNode.textContent.length;\n\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n\n return length;\n }\n }, {\n key: 'newlineIndex',\n value: function newlineIndex(searchIndex) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!reverse) {\n var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(_parchment2.default.create('text', '\\n'));\n }\n\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n\n var next = this.next;\n\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n var blot = _parchment2.default.find(node);\n\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof _parchment2.default.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return CodeBlock;\n }(_block2.default);\n\n CodeBlock.blotName = 'code-block';\n CodeBlock.tagName = 'PRE';\n CodeBlock.TAB = ' ';\n exports.Code = Code;\n exports.default = CodeBlock;\n /***/\n },\n /* 14 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _quillDelta = __webpack_require__(2);\n\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n\n var _op = __webpack_require__(20);\n\n var _op2 = _interopRequireDefault(_op);\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _code = __webpack_require__(13);\n\n var _code2 = _interopRequireDefault(_code);\n\n var _cursor = __webpack_require__(24);\n\n var _cursor2 = _interopRequireDefault(_cursor);\n\n var _block = __webpack_require__(4);\n\n var _block2 = _interopRequireDefault(_block);\n\n var _break = __webpack_require__(16);\n\n var _break2 = _interopRequireDefault(_break);\n\n var _clone = __webpack_require__(21);\n\n var _clone2 = _interopRequireDefault(_clone);\n\n var _deepEqual = __webpack_require__(11);\n\n var _deepEqual2 = _interopRequireDefault(_deepEqual);\n\n var _extend = __webpack_require__(3);\n\n var _extend2 = _interopRequireDefault(_extend);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var ASCII = /^[ -~]*$/;\n\n var Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n\n var consumeNextNewline = false;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n delta = normalizeDelta(delta);\n delta.reduce(function (index, op) {\n var length = op.retain || op.delete || op.insert.length || 1;\n var attributes = op.attributes || {};\n\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n var text = op.insert;\n\n if (text.endsWith('\\n') && consumeNextNewline) {\n consumeNextNewline = false;\n text = text.slice(0, -1);\n }\n\n if (index >= scrollLength && !text.endsWith('\\n')) {\n consumeNextNewline = true;\n }\n\n _this.scroll.insertAt(index, text);\n\n var _scroll$line = _this.scroll.line(index),\n _scroll$line2 = _slicedToArray(_scroll$line, 2),\n line = _scroll$line2[0],\n offset = _scroll$line2[1];\n\n var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n\n if (line instanceof _block2.default) {\n var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n\n formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n }\n\n attributes = _op2.default.attributes.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n\n if (key == null) return index;\n\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n\n scrollLength += length;\n }\n\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n return index + length;\n }, 0);\n delta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n\n return index;\n }\n\n return index + (op.retain || op.insert.length || 1);\n }, 0);\n this.scroll.batchEnd();\n return this.update(delta);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new _quillDelta2.default().retain(index).delete(length));\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length) {\n var _this2 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n\n var lines = _this2.scroll.lines(index, Math.max(length, 1));\n\n var lengthRemaining = length;\n lines.forEach(function (line) {\n var lineLength = line.length();\n\n if (!(line instanceof _code2.default)) {\n line.format(format, formats[format]);\n } else {\n var codeIndex = index - line.offset(_this2.scroll);\n var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n line.formatAt(codeIndex, codeLength, format, formats[format]);\n }\n\n lengthRemaining -= lineLength;\n });\n });\n this.scroll.optimize();\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length) {\n var _this3 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'getContents',\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: 'getDelta',\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'getFormat',\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var lines = [],\n leaves = [];\n\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n\n if (blot instanceof _block2.default) {\n lines.push(blot);\n } else if (blot instanceof _parchment2.default.Leaf) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n }\n\n var formatsArr = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0, _block.bubbleFormats)(blots.shift());\n\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n }\n\n return formats;\n });\n return _extend2.default.apply(_extend2.default, formatsArr);\n }\n }, {\n key: 'getText',\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text) {\n var _this4 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'isBlank',\n value: function isBlank() {\n if (this.scroll.children.length == 0) return true;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== _block2.default.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _break2.default;\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n\n var _scroll$line3 = this.scroll.line(index + length),\n _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n line = _scroll$line4[0],\n offset = _scroll$line4[1];\n\n var suffixLength = 0,\n suffix = new _quillDelta2.default();\n\n if (line != null) {\n if (!(line instanceof _code2.default)) {\n suffixLength = line.length() - offset;\n } else {\n suffixLength = line.newlineIndex(offset) - offset + 1;\n }\n\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n var delta = new _quillDelta2.default().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: 'update',\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n var oldDelta = this.delta;\n\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = _parchment2.default.find(mutations[0].target);\n\n var formats = (0, _block.bubbleFormats)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n var oldText = new _quillDelta2.default().insert(oldValue);\n var newText = new _quillDelta2.default().insert(textBlot.value());\n var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n } else {\n return delta.push(op);\n }\n }, new _quillDelta2.default());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n\n if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, cursorIndex);\n }\n }\n\n return change;\n }\n }]);\n\n return Editor;\n }();\n\n function combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n\n return merged;\n }, {});\n }\n\n function normalizeDelta(delta) {\n return delta.reduce(function (delta, op) {\n if (op.insert === 1) {\n var attributes = (0, _clone2.default)(op.attributes);\n delete attributes['image'];\n return delta.insert({\n image: op.attributes.image\n }, attributes);\n }\n\n if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n op = (0, _clone2.default)(op);\n\n if (op.attributes.list) {\n op.attributes.list = 'ordered';\n } else {\n op.attributes.list = 'bullet';\n delete op.attributes.bullet;\n }\n }\n\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return delta.insert(text, op.attributes);\n }\n\n return delta.push(op);\n }, new _quillDelta2.default());\n }\n\n exports.default = Editor;\n /***/\n },\n /* 15 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.Range = undefined;\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _clone = __webpack_require__(21);\n\n var _clone2 = _interopRequireDefault(_clone);\n\n var _deepEqual = __webpack_require__(11);\n\n var _deepEqual2 = _interopRequireDefault(_deepEqual);\n\n var _emitter3 = __webpack_require__(8);\n\n var _emitter4 = _interopRequireDefault(_emitter3);\n\n var _logger = __webpack_require__(10);\n\n var _logger2 = _interopRequireDefault(_logger);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var debug = (0, _logger2.default)('quill:selection');\n\n var Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n _classCallCheck(this, Range);\n\n this.index = index;\n this.length = length;\n };\n\n var Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n\n _classCallCheck(this, Selection);\n\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = _parchment2.default.create('cursor', this); // savedRange is last non-null range\n\n this.lastRange = this.savedRange = new Range(0, 0);\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown) {\n setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n _this.update(_emitter4.default.sources.SILENT);\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n\n var native = _this.getNativeRange();\n\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n // TODO unclear if this has negative side effects\n\n _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n try {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n } catch (ignored) {}\n });\n });\n this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n });\n this.root.addEventListener('compositionend', function () {\n _this2.composing = false;\n\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: 'handleDragging',\n value: function handleDragging() {\n var _this3 = this;\n\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n\n _this3.update(_emitter4.default.sources.USER);\n });\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: 'format',\n value: function format(_format, value) {\n if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = _parchment2.default.find(nativeRange.start.node, false);\n\n if (blot == null) return; // TODO Give blot ability to not split\n\n if (blot instanceof _parchment2.default.Leaf) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n\n this.cursor.attach();\n }\n\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n\n var node = void 0,\n _scroll$leaf = this.scroll.leaf(index),\n _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n leaf = _scroll$leaf2[0],\n offset = _scroll$leaf2[1];\n\n if (leaf == null) return null;\n\n var _leaf$position = leaf.position(offset, true);\n\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n var range = document.createRange();\n\n if (length > 0) {\n range.setStart(node, offset);\n\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n if (leaf == null) return null;\n\n var _leaf$position3 = leaf.position(offset, true);\n\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n } else {\n var side = 'left';\n var rect = void 0;\n\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }\n }, {\n key: 'getNativeRange',\n value: function getNativeRange() {\n var selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: 'getRange',\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return document.activeElement === this.root;\n }\n }, {\n key: 'normalizedToRange',\n value: function normalizedToRange(range) {\n var _this4 = this;\n\n var positions = [[range.start.node, range.start.offset]];\n\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n\n var blot = _parchment2.default.find(node, true);\n\n var index = blot.offset(_this4.scroll);\n\n if (offset === 0) {\n return index;\n } else if (blot instanceof _parchment2.default.Container) {\n return index + blot.length();\n } else {\n return index + blot.index(node, offset);\n }\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: 'normalizeNative',\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n\n var range = {\n start: {\n node: nativeRange.startContainer,\n offset: nativeRange.startOffset\n },\n end: {\n node: nativeRange.endContainer,\n offset: nativeRange.endOffset\n },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n } else {\n break;\n }\n }\n\n position.node = node, position.offset = offset;\n });\n return range;\n }\n }, {\n key: 'rangeToNative',\n value: function rangeToNative(range) {\n var _this5 = this;\n\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n\n var node = void 0,\n _scroll$leaf5 = _this5.scroll.leaf(index),\n _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n leaf = _scroll$leaf6[0],\n offset = _scroll$leaf6[1];\n\n var _leaf$position5 = leaf.position(offset, i !== 0);\n\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n args.push(node, offset);\n });\n\n if (args.length < 2) {\n args = args.concat(args);\n }\n\n return args;\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n\n var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _scroll$line2 = _slicedToArray(_scroll$line, 1),\n first = _scroll$line2[0];\n\n var last = first;\n\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n last = _scroll$line4[0];\n }\n\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: 'setNativeRange',\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n\n var selection = document.getSelection();\n if (selection == null) return;\n\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var native = (this.getNativeRange() || {}).native;\n\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n if (startNode.tagName == \"BR\") {\n startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n startNode = startNode.parentNode;\n }\n\n if (endNode.tagName == \"BR\") {\n endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n endNode = endNode.parentNode;\n }\n\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n }\n }\n }, {\n key: 'setRange',\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n\n debug.info('setRange', range);\n\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n\n this.update(source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n var oldRange = this.lastRange;\n\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n\n this.lastRange = lastRange;\n\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n\n if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n var _emitter;\n\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n this.cursor.restore();\n }\n\n var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n\n return Selection;\n }();\n\n function contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode;\n } catch (e) {\n return false;\n } // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n\n\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n\n return parent.contains(descendant);\n }\n\n exports.Range = Range;\n exports.default = Selection;\n /***/\n },\n /* 16 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n\n function Break() {\n _classCallCheck(this, Break);\n\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\n\n _createClass(Break, [{\n key: 'insertInto',\n value: function insertInto(parent, ref) {\n if (parent.children.length === 0) {\n _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n } else {\n this.remove();\n }\n }\n }, {\n key: 'length',\n value: function length() {\n return 0;\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }], [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n return Break;\n }(_parchment2.default.Embed);\n\n Break.blotName = 'break';\n Break.tagName = 'BR';\n exports.default = Break;\n /***/\n },\n /* 17 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var linked_list_1 = __webpack_require__(44);\n\n var shadow_1 = __webpack_require__(30);\n\n var Registry = __webpack_require__(1);\n\n var ContainerBlot =\n /** @class */\n function (_super) {\n __extends(ContainerBlot, _super);\n\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n\n _this.build();\n\n return _this;\n }\n\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n\n ContainerBlot.prototype.build = function () {\n var _this = this;\n\n this.children = new linked_list_1.default(); // Need to be reversed for if DOM nodes already in order\n\n [].slice.call(this.domNode.childNodes).reverse().forEach(function (node) {\n try {\n var child = makeBlot(node);\n\n _this.insertBefore(child, _this.children.head || undefined);\n } catch (err) {\n if (err instanceof Registry.ParchmentError) return;else throw err;\n }\n });\n };\n\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index),\n child = _a[0],\n offset = _a[1];\n\n if (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) {\n return [child, offset];\n } else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n } else {\n return [null, -1];\n }\n };\n\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) {\n index = 0;\n }\n\n if (length === void 0) {\n length = Number.MAX_VALUE;\n }\n\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) {\n descendants.push(child);\n }\n\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n\n lengthLeft -= length;\n });\n return descendants;\n };\n\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n\n _super.prototype.detach.call(this);\n };\n\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index),\n child = _a[0],\n offset = _a[1];\n\n if (child) {\n child.insertAt(offset, value, def);\n } else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null && !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n\n childBlot.insertInto(this, refBlot);\n };\n\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n } else {\n this.remove();\n }\n }\n };\n\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n\n var _a = this.children.find(index, inclusive),\n child = _a[0],\n offset = _a[1];\n\n var position = [[this, index]];\n\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n } else if (child != null) {\n position.push([child, offset]);\n }\n\n return position;\n };\n\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n\n _super.prototype.replace.call(this, target);\n };\n\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) {\n force = false;\n }\n\n if (!force) {\n if (index === 0) return this;\n if (index === this.length()) return this.next;\n }\n\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null && // @ts-ignore\n node.tagName !== 'IFRAME' && document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n\n var blot = Registry.find(node);\n if (blot == null) return;\n\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes.filter(function (node) {\n return node.parentNode == _this.domNode;\n }).sort(function (a, b) {\n if (a === b) return 0;\n\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n\n return -1;\n }).forEach(function (node) {\n var refBlot = null;\n\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n\n var blot = makeBlot(node);\n\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n\n return ContainerBlot;\n }(shadow_1.default);\n\n function makeBlot(node) {\n var blot = Registry.find(node);\n\n if (blot == null) {\n try {\n blot = Registry.create(node);\n } catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n\n blot.attach();\n }\n }\n\n return blot;\n }\n\n exports.default = ContainerBlot;\n /***/\n },\n /* 18 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var attributor_1 = __webpack_require__(12);\n\n var store_1 = __webpack_require__(31);\n\n var container_1 = __webpack_require__(17);\n\n var Registry = __webpack_require__(1);\n\n var FormatBlot =\n /** @class */\n function (_super) {\n __extends(FormatBlot, _super);\n\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n } else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n\n return undefined;\n };\n\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n } else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n\n return formats;\n };\n\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n\n this.attributes.copy(replacement);\n return replacement;\n };\n\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n\n _super.prototype.update.call(this, mutations, context);\n\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n\n return wrapper;\n };\n\n return FormatBlot;\n }(container_1.default);\n\n exports.default = FormatBlot;\n /***/\n },\n /* 19 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var shadow_1 = __webpack_require__(30);\n\n var Registry = __webpack_require__(1);\n\n var LeafBlot =\n /** @class */\n function (_super) {\n __extends(LeafBlot, _super);\n\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n LeafBlot.value = function (domNode) {\n return true;\n };\n\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node || this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n\n return -1;\n };\n\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0) offset += 1;\n return [this.parent.domNode, offset];\n };\n\n LeafBlot.prototype.value = function () {\n var _a;\n\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n }(shadow_1.default);\n\n exports.default = LeafBlot;\n /***/\n },\n /* 20 */\n\n /***/\n function (module, exports, __webpack_require__) {\n var equal = __webpack_require__(11);\n\n var extend = __webpack_require__(3);\n\n var lib = {\n attributes: {\n compose: function compose(a, b, keepNull) {\n if (_typeof2(a) !== 'object') a = {};\n if (_typeof2(b) !== 'object') b = {};\n var attributes = extend(true, {}, b);\n\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n\n return copy;\n }, {});\n }\n\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n diff: function diff(a, b) {\n if (_typeof2(a) !== 'object') a = {};\n if (_typeof2(b) !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n transform: function transform(a, b, priority) {\n if (_typeof2(a) !== 'object') return b;\n if (_typeof2(b) !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n iterator: function iterator(ops) {\n return new Iterator(ops);\n },\n length: function length(op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n };\n\n function Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n }\n\n ;\n\n Iterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n };\n\n Iterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp);\n\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n\n if (typeof nextOp['delete'] === 'number') {\n return {\n 'delete': length\n };\n } else {\n var retOp = {};\n\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n\n return retOp;\n }\n } else {\n return {\n retain: Infinity\n };\n }\n };\n\n Iterator.prototype.peek = function () {\n return this.ops[this.index];\n };\n\n Iterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n };\n\n Iterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n\n return 'retain';\n };\n\n Iterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n };\n\n module.exports = lib;\n /***/\n },\n /* 21 */\n\n /***/\n function (module, exports) {\n var clone = function () {\n 'use strict';\n\n function _instanceof(obj, type) {\n return type != null && obj instanceof type;\n }\n\n var nativeMap;\n\n try {\n nativeMap = Map;\n } catch (_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function nativeMap() {};\n }\n\n var nativeSet;\n\n try {\n nativeSet = Set;\n } catch (_) {\n nativeSet = function nativeSet() {};\n }\n\n var nativePromise;\n\n try {\n nativePromise = Promise;\n } catch (_) {\n nativePromise = function nativePromise() {};\n }\n /**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n */\n\n\n function clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (_typeof2(circular) === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n } // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n\n\n var allParents = [];\n var allChildren = [];\n var useBuffer = typeof Buffer != 'undefined';\n if (typeof circular == 'undefined') circular = true;\n if (typeof depth == 'undefined') depth = Infinity; // recurse this function so we don't reset allParents and allChildren\n\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null) return null;\n if (depth === 0) return parent;\n var child;\n var proto;\n\n if (_typeof2(parent) != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function (value) {\n resolve(_clone(value, depth - 1));\n }, function (err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n } else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function (value, key) {\n var keyChild = _clone(key, depth - 1);\n\n var valueChild = _clone(value, depth - 1);\n\n child.set(keyChild, valueChild);\n });\n }\n\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function (value) {\n var entryChild = _clone(value, depth - 1);\n\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n\n child[symbol] = _clone(parent[symbol], depth - 1);\n\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n }\n /**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\n\n\n clone.clonePrototype = function clonePrototype(parent) {\n if (parent === null) return null;\n\n var c = function c() {};\n\n c.prototype = parent;\n return new c();\n }; // private utility functions\n\n\n function __objToStr(o) {\n return Object.prototype.toString.call(o);\n }\n\n clone.__objToStr = __objToStr;\n\n function __isDate(o) {\n return _typeof2(o) === 'object' && __objToStr(o) === '[object Date]';\n }\n\n clone.__isDate = __isDate;\n\n function __isArray(o) {\n return _typeof2(o) === 'object' && __objToStr(o) === '[object Array]';\n }\n\n clone.__isArray = __isArray;\n\n function __isRegExp(o) {\n return _typeof2(o) === 'object' && __objToStr(o) === '[object RegExp]';\n }\n\n clone.__isRegExp = __isRegExp;\n\n function __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n }\n\n clone.__getRegExpFlags = __getRegExpFlags;\n return clone;\n }();\n\n if (_typeof2(module) === 'object' && module.exports) {\n module.exports = clone;\n }\n /***/\n\n },\n /* 22 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _emitter = __webpack_require__(8);\n\n var _emitter2 = _interopRequireDefault(_emitter);\n\n var _block = __webpack_require__(4);\n\n var _block2 = _interopRequireDefault(_block);\n\n var _break = __webpack_require__(16);\n\n var _break2 = _interopRequireDefault(_break);\n\n var _code = __webpack_require__(13);\n\n var _code2 = _interopRequireDefault(_code);\n\n var _container = __webpack_require__(25);\n\n var _container2 = _interopRequireDefault(_container);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n function isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n }\n\n var Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n _this.emitter = config.emitter;\n\n if (Array.isArray(config.whitelist)) {\n _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n whitelist[format] = true;\n return whitelist;\n }, {});\n } // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n\n\n _this.domNode.addEventListener('DOMNodeInserted', function () {});\n\n _this.optimize();\n\n _this.enable();\n\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'batchStart',\n value: function batchStart() {\n this.batch = true;\n }\n }, {\n key: 'batchEnd',\n value: function batchEnd() {\n this.batch = false;\n this.optimize();\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n var _line = this.line(index),\n _line2 = _slicedToArray(_line, 2),\n first = _line2[0],\n offset = _line2[1];\n\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n this.optimize();\n return;\n }\n\n if (first instanceof _code2.default) {\n var newlineIndex = first.newlineIndex(first.length(), true);\n\n if (newlineIndex > -1) {\n first = first.split(newlineIndex + 1);\n\n if (first === last) {\n this.optimize();\n return;\n }\n }\n } else if (last instanceof _code2.default) {\n var _newlineIndex = last.newlineIndex(0);\n\n if (_newlineIndex > -1) {\n last.split(_newlineIndex + 1);\n }\n }\n\n var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n\n this.optimize();\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, format, value) {\n if (this.whitelist != null && !this.whitelist[format]) return;\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n\n this.optimize();\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n\n if (index >= this.length()) {\n if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n var blot = _parchment2.default.create(this.statics.defaultChild);\n\n this.appendChild(blot);\n\n if (def == null && value.endsWith('\\n')) {\n value = value.slice(0, -1);\n }\n\n blot.insertAt(0, value, def);\n } else {\n var embed = _parchment2.default.create(value, def);\n\n this.appendChild(embed);\n }\n } else {\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n }\n\n this.optimize();\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n var wrapper = _parchment2.default.create(this.statics.defaultChild);\n\n wrapper.appendChild(blot);\n blot = wrapper;\n }\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n }\n }, {\n key: 'leaf',\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: 'line',\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n\n return this.descendant(isLine, index);\n }\n }, {\n key: 'lines',\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n var getLines = function getLines(blot, index, length) {\n var lines = [],\n lengthLeft = length;\n blot.children.forEachAt(index, length, function (child, index, length) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof _parchment2.default.Container) {\n lines = lines.concat(getLines(child, index, lengthLeft));\n }\n\n lengthLeft -= length;\n });\n return lines;\n };\n\n return getLines(this, index, length);\n }\n }, {\n key: 'optimize',\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.batch === true) return;\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: 'update',\n value: function update(mutations) {\n if (this.batch === true) return;\n var source = _emitter2.default.sources.USER;\n\n if (typeof mutations === 'string') {\n source = mutations;\n }\n\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n\n\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n\n return Scroll;\n }(_parchment2.default.Scroll);\n\n Scroll.blotName = 'scroll';\n Scroll.className = 'ql-editor';\n Scroll.tagName = 'DIV';\n Scroll.defaultChild = 'block';\n Scroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n exports.default = Scroll;\n /***/\n },\n /* 23 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SHORTKEY = exports.default = undefined;\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _clone = __webpack_require__(21);\n\n var _clone2 = _interopRequireDefault(_clone);\n\n var _deepEqual = __webpack_require__(11);\n\n var _deepEqual2 = _interopRequireDefault(_deepEqual);\n\n var _extend = __webpack_require__(3);\n\n var _extend2 = _interopRequireDefault(_extend);\n\n var _quillDelta = __webpack_require__(2);\n\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n\n var _op = __webpack_require__(20);\n\n var _op2 = _interopRequireDefault(_op);\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _quill = __webpack_require__(5);\n\n var _quill2 = _interopRequireDefault(_quill);\n\n var _logger = __webpack_require__(10);\n\n var _logger2 = _interopRequireDefault(_logger);\n\n var _module = __webpack_require__(9);\n\n var _module2 = _interopRequireDefault(_module);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var debug = (0, _logger2.default)('quill:keyboard');\n var SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\n var Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n\n _createClass(Keyboard, null, [{\n key: 'match',\n value: function match(evt, binding) {\n binding = normalize(binding);\n\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n\n return binding.key === (evt.which || evt.keyCode);\n }\n }]);\n\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n return;\n }\n\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n\n _this.addBinding({\n key: Keyboard.keys.ENTER,\n shiftKey: null\n }, handleEnter);\n\n _this.addBinding({\n key: Keyboard.keys.ENTER,\n metaKey: null,\n ctrlKey: null,\n altKey: null\n }, function () {});\n\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this.addBinding({\n key: Keyboard.keys.BACKSPACE\n }, {\n collapsed: true\n }, handleBackspace);\n\n _this.addBinding({\n key: Keyboard.keys.DELETE\n }, {\n collapsed: true\n }, handleDelete);\n } else {\n _this.addBinding({\n key: Keyboard.keys.BACKSPACE\n }, {\n collapsed: true,\n prefix: /^.?$/\n }, handleBackspace);\n\n _this.addBinding({\n key: Keyboard.keys.DELETE\n }, {\n collapsed: true,\n suffix: /^.?$/\n }, handleDelete);\n }\n\n _this.addBinding({\n key: Keyboard.keys.BACKSPACE\n }, {\n collapsed: false\n }, handleDeleteRange);\n\n _this.addBinding({\n key: Keyboard.keys.DELETE\n }, {\n collapsed: false\n }, handleDeleteRange);\n\n _this.addBinding({\n key: Keyboard.keys.BACKSPACE,\n altKey: null,\n ctrlKey: null,\n metaKey: null,\n shiftKey: null\n }, {\n collapsed: true,\n offset: 0\n }, handleBackspace);\n\n _this.listen();\n\n return _this;\n }\n\n _createClass(Keyboard, [{\n key: 'addBinding',\n value: function addBinding(key) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var binding = normalize(key);\n\n if (binding == null || binding.key == null) {\n return debug.warn('Attempted to add invalid keyboard binding', binding);\n }\n\n if (typeof context === 'function') {\n context = {\n handler: context\n };\n }\n\n if (typeof handler === 'function') {\n handler = {\n handler: handler\n };\n }\n\n binding = (0, _extend2.default)(binding, context, handler);\n this.bindings[binding.key] = this.bindings[binding.key] || [];\n this.bindings[binding.key].push(binding);\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this2 = this;\n\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented) return;\n var which = evt.which || evt.keyCode;\n var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (bindings.length === 0) return;\n\n var range = _this2.quill.getSelection();\n\n if (range == null || !_this2.quill.hasFocus()) return;\n\n var _quill$getLine = _this2.quill.getLine(range.index),\n _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n line = _quill$getLine2[0],\n offset = _quill$getLine2[1];\n\n var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n leafStart = _quill$getLeaf2[0],\n offsetStart = _quill$getLeaf2[1];\n\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n\n var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this2.quill.getFormat(range),\n offset: offset,\n prefix: prefixText,\n suffix: suffixText\n };\n var prevented = bindings.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n if (binding.empty != null && binding.empty !== curContext.empty) return false;\n if (binding.offset != null && binding.offset !== curContext.offset) return false;\n\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n return binding.handler.call(_this2, range, curContext) !== true;\n });\n\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }]);\n\n return Keyboard;\n }(_module2.default);\n\n Keyboard.keys = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n };\n Keyboard.DEFAULTS = {\n bindings: {\n 'bold': makeFormatHandler('bold'),\n 'italic': makeFormatHandler('italic'),\n 'underline': makeFormatHandler('underline'),\n 'indent': {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: Keyboard.keys.TAB,\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', _quill2.default.sources.USER);\n }\n },\n 'outdent': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n }\n },\n 'outdent backspace': {\n key: Keyboard.keys.BACKSPACE,\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n }\n },\n 'tab': {\n key: Keyboard.keys.TAB,\n handler: function handler(range) {\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n }\n },\n 'list empty enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n\n if (context.format.indent) {\n this.quill.format('indent', false, _quill2.default.sources.USER);\n }\n }\n },\n 'checklist enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: {\n list: 'checked'\n },\n handler: function handler(range) {\n var _quill$getLine3 = this.quill.getLine(range.index),\n _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n line = _quill$getLine4[0],\n offset = _quill$getLine4[1];\n\n var formats = (0, _extend2.default)({}, line.formats(), {\n list: 'checked'\n });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, {\n list: 'unchecked'\n });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _quill$getLine5 = this.quill.getLine(range.index),\n _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n line = _quill$getLine6[0],\n offset = _quill$getLine6[1];\n\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, {\n header: null\n });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: ' ',\n collapsed: true,\n format: {\n list: false\n },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n\n var _quill$getLine7 = this.quill.getLine(range.index),\n _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n line = _quill$getLine8[0],\n offset = _quill$getLine8[1];\n\n if (offset > length) return true;\n var value = void 0;\n\n switch (context.prefix.trim()) {\n case '[]':\n case '[ ]':\n value = 'unchecked';\n break;\n\n case '[x]':\n value = 'checked';\n break;\n\n case '-':\n case '*':\n value = 'bullet';\n break;\n\n default:\n value = 'ordered';\n }\n\n this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, {\n list: value\n });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n }\n },\n 'code exit': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['code-block'],\n prefix: /\\n\\n$/,\n suffix: /^\\s+$/,\n handler: function handler(range) {\n var _quill$getLine9 = this.quill.getLine(range.index),\n _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n line = _quill$getLine10[0],\n offset = _quill$getLine10[1];\n\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, {\n 'code-block': null\n }).delete(1);\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n }\n },\n 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n }\n };\n\n function makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n\n var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n return _ref3 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n var index = range.index;\n\n if (key === Keyboard.keys.RIGHT) {\n index += range.length + 1;\n }\n\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n\n if (!(leaf instanceof _parchment2.default.Embed)) return true;\n\n if (key === Keyboard.keys.LEFT) {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n }\n } else {\n if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n }\n }\n\n return false;\n }), _ref3;\n }\n\n function handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n\n var formats = {};\n\n if (context.offset === 0) {\n var _quill$getLine13 = this.quill.getLine(range.index - 1),\n _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n prev = _quill$getLine14[0];\n\n if (prev != null && prev.length() > 1) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n }\n } // Check for astral symbols\n\n\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n }\n\n this.quill.focus();\n }\n\n function handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {},\n nextLength = 0;\n\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n\n if (context.offset >= line.length() - 1) {\n var _quill$getLine17 = this.quill.getLine(range.index + 1),\n _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n next = _quill$getLine18[0];\n\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n nextLength = next.length();\n }\n }\n\n this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n }\n }\n\n function handleDeleteRange(range) {\n var lines = this.quill.getLines(range);\n var formats = {};\n\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n }\n\n this.quill.deleteText(range, _quill2.default.sources.USER);\n\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n }\n\n this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n this.quill.focus();\n }\n\n function handleEnter(range, context) {\n var _this3 = this;\n\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n }\n\n var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n lineFormats[format] = context.format[format];\n }\n\n return lineFormats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER); // Earlier scroll.deleteAt might have messed up our selection,\n // so insertText's built in selection preservation is not reliable\n\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n\n _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n });\n }\n\n function makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: {\n 'code-block': true\n },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n\n var index = range.index,\n length = range.length;\n\n var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n block = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (block == null) return;\n var scrollIndex = this.quill.getIndex(block);\n var start = block.newlineIndex(offset, true) + 1;\n var end = block.newlineIndex(scrollIndex + offset + length);\n var lines = block.domNode.textContent.slice(start, end).split('\\n');\n offset = 0;\n lines.forEach(function (line, i) {\n if (indent) {\n block.insertAt(start + offset, CodeBlock.TAB);\n offset += CodeBlock.TAB.length;\n\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.startsWith(CodeBlock.TAB)) {\n block.deleteAt(start + offset, CodeBlock.TAB.length);\n offset -= CodeBlock.TAB.length;\n\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n\n offset += line.length + 1;\n });\n this.quill.update(_quill2.default.sources.USER);\n this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n }\n };\n }\n\n function makeFormatHandler(format) {\n return {\n key: format[0].toUpperCase(),\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n }\n };\n }\n\n function normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({\n key: binding\n });\n }\n\n if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n binding = (0, _clone2.default)(binding, false);\n }\n\n if (typeof binding.key === 'string') {\n if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n binding.key = Keyboard.keys[binding.key.toUpperCase()];\n } else if (binding.key.length === 1) {\n binding.key = binding.key.toUpperCase().charCodeAt(0);\n } else {\n return null;\n }\n }\n\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n\n return binding;\n }\n\n exports.default = Keyboard;\n exports.SHORTKEY = SHORTKEY;\n /***/\n },\n /* 24 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _text = __webpack_require__(7);\n\n var _text2 = _interopRequireDefault(_text);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n\n _this.domNode.appendChild(_this.textNode);\n\n _this._length = 0;\n return _this;\n }\n\n _createClass(Cursor, [{\n key: 'detach',\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (this._length !== 0) {\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n }\n\n var target = this,\n index = 0;\n\n while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n\n if (target != null) {\n this._length = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this._length = 0;\n }\n }\n }, {\n key: 'index',\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'length',\n value: function length() {\n return this._length;\n }\n }, {\n key: 'position',\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: 'remove',\n value: function remove() {\n _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n\n this.parent = null;\n }\n }, {\n key: 'restore',\n value: function restore() {\n if (this.selection.composing || this.parent == null) return;\n var textNode = this.textNode;\n var range = this.selection.getNativeRange();\n var restoreText = void 0,\n start = void 0,\n end = void 0;\n\n if (range != null && range.start.node === textNode && range.end.node === textNode) {\n var _ref = [textNode, range.start.offset, range.end.offset];\n restoreText = _ref[0];\n start = _ref[1];\n end = _ref[2];\n } // Link format will insert text outside of anchor tag\n\n\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n\n if (this.textNode.data !== Cursor.CONTENTS) {\n var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n\n if (this.next instanceof _text2.default) {\n restoreText = this.next.domNode;\n this.next.insertAt(0, text);\n this.textNode.data = Cursor.CONTENTS;\n } else {\n this.textNode.data = text;\n this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n }\n }\n\n this.remove();\n\n if (start != null) {\n var _map = [start, end].map(function (offset) {\n return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n return {\n startNode: restoreText,\n startOffset: start,\n endNode: restoreText,\n endOffset: end\n };\n }\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }]);\n\n return Cursor;\n }(_parchment2.default.Embed);\n\n Cursor.blotName = 'cursor';\n Cursor.className = 'ql-cursor';\n Cursor.tagName = 'span';\n Cursor.CONTENTS = \"\\uFEFF\"; // Zero width no break space\n\n exports.default = Cursor;\n /***/\n },\n /* 25 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _block = __webpack_require__(4);\n\n var _block2 = _interopRequireDefault(_block);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n\n return Container;\n }(_parchment2.default.Container);\n\n Container.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n exports.default = Container;\n /***/\n },\n /* 26 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\n\n _createClass(ColorAttributor, [{\n key: 'value',\n value: function value(domNode) {\n var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n return '#' + value.split(',').map(function (component) {\n return ('00' + parseInt(component).toString(16)).slice(-2);\n }).join('');\n }\n }]);\n\n return ColorAttributor;\n }(_parchment2.default.Attributor.Style);\n\n var ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n });\n var ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n });\n exports.ColorAttributor = ColorAttributor;\n exports.ColorClass = ColorClass;\n exports.ColorStyle = ColorStyle;\n /***/\n },\n /* 27 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.sanitize = exports.default = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _inline = __webpack_require__(6);\n\n var _inline2 = _interopRequireDefault(_inline);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Link = function (_Inline) {\n _inherits(Link, _Inline);\n\n function Link() {\n _classCallCheck(this, Link);\n\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\n\n _createClass(Link, [{\n key: 'format',\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n value = this.constructor.sanitize(value);\n this.domNode.setAttribute('href', value);\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n\n value = this.sanitize(value);\n node.setAttribute('href', value);\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n\n return Link;\n }(_inline2.default);\n\n Link.blotName = 'link';\n Link.tagName = 'A';\n Link.SANITIZED_URL = 'about:blank';\n Link.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\n function _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n }\n\n exports.default = Link;\n exports.sanitize = _sanitize;\n /***/\n },\n /* 28 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _keyboard = __webpack_require__(23);\n\n var _keyboard2 = _interopRequireDefault(_keyboard);\n\n var _dropdown = __webpack_require__(107);\n\n var _dropdown2 = _interopRequireDefault(_dropdown);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var optionsCounter = 0;\n\n function toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n }\n\n var Picker = function () {\n function Picker(select) {\n var _this = this;\n\n _classCallCheck(this, Picker);\n\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n this.select.parentNode.insertBefore(this.container, this.select);\n this.label.addEventListener('mousedown', function () {\n _this.togglePicker();\n });\n this.label.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to open the picker\n case _keyboard2.default.keys.ENTER:\n _this.togglePicker();\n\n break;\n // Allows the \"Escape\" key to close the picker\n\n case _keyboard2.default.keys.ESCAPE:\n _this.escape();\n\n event.preventDefault();\n break;\n\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n\n _createClass(Picker, [{\n key: 'togglePicker',\n value: function togglePicker() {\n this.container.classList.toggle('ql-expanded'); // Toggle aria-expanded and aria-hidden to make the picker accessible\n\n toggleAriaAttribute(this.label, 'aria-expanded');\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n }, {\n key: 'buildItem',\n value: function buildItem(option) {\n var _this2 = this;\n\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n item.classList.add('ql-picker-item');\n\n if (option.hasAttribute('value')) {\n item.setAttribute('data-value', option.getAttribute('value'));\n }\n\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n\n item.addEventListener('click', function () {\n _this2.selectItem(item, true);\n });\n item.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to select an item\n case _keyboard2.default.keys.ENTER:\n _this2.selectItem(item, true);\n\n event.preventDefault();\n break;\n // Allows the \"Escape\" key to close the picker\n\n case _keyboard2.default.keys.ESCAPE:\n _this2.escape();\n\n event.preventDefault();\n break;\n\n default:\n }\n });\n return item;\n }\n }, {\n key: 'buildLabel',\n value: function buildLabel() {\n var label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = _dropdown2.default;\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n }, {\n key: 'buildOptions',\n value: function buildOptions() {\n var _this3 = this;\n\n var options = document.createElement('span');\n options.classList.add('ql-picker-options'); // Don't want screen readers to read this until options are visible\n\n options.setAttribute('aria-hidden', 'true');\n options.tabIndex = '-1'; // Need a unique id for aria-controls\n\n options.id = 'ql-picker-options-' + optionsCounter;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n this.options = options;\n [].slice.call(this.select.options).forEach(function (option) {\n var item = _this3.buildItem(option);\n\n options.appendChild(item);\n\n if (option.selected === true) {\n _this3.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n }, {\n key: 'buildPicker',\n value: function buildPicker() {\n var _this4 = this;\n\n [].slice.call(this.select.attributes).forEach(function (item) {\n _this4.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n }, {\n key: 'escape',\n value: function escape() {\n var _this5 = this; // Close menu and return focus to trigger label\n\n\n this.close(); // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n\n setTimeout(function () {\n return _this5.label.focus();\n }, 1);\n }\n }, {\n key: 'close',\n value: function close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n this.options.setAttribute('aria-hidden', 'true');\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item) {\n var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n\n if (item == null) return;\n item.classList.add('ql-selected');\n this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n\n if (item.hasAttribute('data-value')) {\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n\n if (item.hasAttribute('data-label')) {\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n\n if (trigger) {\n if (typeof Event === 'function') {\n this.select.dispatchEvent(new Event('change'));\n } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n // IE11\n var event = document.createEvent('Event');\n event.initEvent('change', true, true);\n this.select.dispatchEvent(event);\n }\n\n this.close();\n }\n }\n }, {\n key: 'update',\n value: function update() {\n var option = void 0;\n\n if (this.select.selectedIndex > -1) {\n var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n\n var isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n }]);\n\n return Picker;\n }();\n\n exports.default = Picker;\n /***/\n },\n /* 29 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _quill = __webpack_require__(5);\n\n var _quill2 = _interopRequireDefault(_quill);\n\n var _block = __webpack_require__(4);\n\n var _block2 = _interopRequireDefault(_block);\n\n var _break = __webpack_require__(16);\n\n var _break2 = _interopRequireDefault(_break);\n\n var _container = __webpack_require__(25);\n\n var _container2 = _interopRequireDefault(_container);\n\n var _cursor = __webpack_require__(24);\n\n var _cursor2 = _interopRequireDefault(_cursor);\n\n var _embed = __webpack_require__(35);\n\n var _embed2 = _interopRequireDefault(_embed);\n\n var _inline = __webpack_require__(6);\n\n var _inline2 = _interopRequireDefault(_inline);\n\n var _scroll = __webpack_require__(22);\n\n var _scroll2 = _interopRequireDefault(_scroll);\n\n var _text = __webpack_require__(7);\n\n var _text2 = _interopRequireDefault(_text);\n\n var _clipboard = __webpack_require__(55);\n\n var _clipboard2 = _interopRequireDefault(_clipboard);\n\n var _history = __webpack_require__(42);\n\n var _history2 = _interopRequireDefault(_history);\n\n var _keyboard = __webpack_require__(23);\n\n var _keyboard2 = _interopRequireDefault(_keyboard);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n _quill2.default.register({\n 'blots/block': _block2.default,\n 'blots/block/embed': _block.BlockEmbed,\n 'blots/break': _break2.default,\n 'blots/container': _container2.default,\n 'blots/cursor': _cursor2.default,\n 'blots/embed': _embed2.default,\n 'blots/inline': _inline2.default,\n 'blots/scroll': _scroll2.default,\n 'blots/text': _text2.default,\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n });\n\n _parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\n exports.default = _quill2.default;\n /***/\n },\n /* 30 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var Registry = __webpack_require__(1);\n\n var ShadowBlot =\n /** @class */\n function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode; // @ts-ignore\n\n this.domNode[Registry.DATA_KEY] = {\n blot: this\n };\n }\n\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function get() {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n\n var node;\n\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n } else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n } else {\n node = document.createElement(this.tagName[0]);\n }\n } else {\n node = document.createElement(this.tagName);\n }\n\n if (this.className) {\n node.classList.add(this.className);\n }\n\n return node;\n };\n\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null) this.parent.removeChild(this); // @ts-ignore\n\n delete this.domNode[Registry.DATA_KEY];\n };\n\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n } else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent = Registry.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) {\n refBlot = null;\n }\n\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n\n if (this.domNode.parentNode != parentBlot.domNode || this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n\n this.parent = parentBlot;\n this.attach();\n };\n\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) {\n root = this.parent;\n }\n\n if (this.parent == null || this == root) return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n\n this.detach();\n };\n\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null) return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n\n ShadowBlot.prototype.update = function (mutations, context) {// Nothing to do by default\n };\n\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n\n wrapper.appendChild(this);\n return wrapper;\n };\n\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n }();\n\n exports.default = ShadowBlot;\n /***/\n },\n /* 31 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var attributor_1 = __webpack_require__(12);\n\n var class_1 = __webpack_require__(32);\n\n var style_1 = __webpack_require__(33);\n\n var Registry = __webpack_require__(1);\n\n var AttributorStore =\n /** @class */\n function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n } else {\n delete this.attributes[attribute.attrName];\n }\n }\n } else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n\n AttributorStore.prototype.build = function () {\n var _this = this;\n\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n\n target.format(key, value);\n });\n };\n\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n\n AttributorStore.prototype.values = function () {\n var _this = this;\n\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n\n return AttributorStore;\n }();\n\n exports.default = AttributorStore;\n /***/\n },\n /* 32 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var attributor_1 = __webpack_require__(12);\n\n function match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n }\n\n var ClassAttributor =\n /** @class */\n function (_super) {\n __extends(ClassAttributor, _super);\n\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name.split('-').slice(0, -1).join('-');\n });\n };\n\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value)) return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n\n return this.canAdd(node, value) ? value : '';\n };\n\n return ClassAttributor;\n }(attributor_1.default);\n\n exports.default = ClassAttributor;\n /***/\n },\n /* 33 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var attributor_1 = __webpack_require__(12);\n\n function camelize(name) {\n var parts = name.split('-');\n var rest = parts.slice(1).map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n }).join('');\n return parts[0] + rest;\n }\n\n var StyleAttributor =\n /** @class */\n function (_super) {\n __extends(StyleAttributor, _super);\n\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value)) return false; // @ts-ignore\n\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n\n return StyleAttributor;\n }(attributor_1.default);\n\n exports.default = StyleAttributor;\n /***/\n },\n /* 34 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: 'addModule',\n value: function addModule(name) {\n var moduleClass = this.quill.constructor.import('modules/' + name);\n this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n\n return Theme;\n }();\n\n Theme.DEFAULTS = {\n modules: {}\n };\n Theme.themes = {\n 'default': Theme\n };\n exports.default = Theme;\n /***/\n },\n /* 35 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _text = __webpack_require__(7);\n\n var _text2 = _interopRequireDefault(_text);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var GUARD_TEXT = \"\\uFEFF\";\n\n var Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n\n function Embed(node) {\n _classCallCheck(this, Embed);\n\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n _this.contentNode = document.createElement('span');\n\n _this.contentNode.setAttribute('contenteditable', false);\n\n [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n\n _this.domNode.appendChild(_this.leftGuard);\n\n _this.domNode.appendChild(_this.contentNode);\n\n _this.domNode.appendChild(_this.rightGuard);\n\n return _this;\n }\n\n _createClass(Embed, [{\n key: 'index',\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'restore',\n value: function restore(node) {\n var range = void 0,\n textNode = void 0;\n var text = node.data.split(GUARD_TEXT).join('');\n\n if (node === this.leftGuard) {\n if (this.prev instanceof _text2.default) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text2.default) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n\n if (range) context.range = range;\n }\n });\n }\n }]);\n\n return Embed;\n }(_parchment2.default.Embed);\n\n exports.default = Embed;\n /***/\n },\n /* 36 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n };\n var AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\n var AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\n var AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n exports.AlignAttribute = AlignAttribute;\n exports.AlignClass = AlignClass;\n exports.AlignStyle = AlignStyle;\n /***/\n },\n /* 37 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.BackgroundStyle = exports.BackgroundClass = undefined;\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _color = __webpack_require__(26);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n });\n var BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n });\n exports.BackgroundClass = BackgroundClass;\n exports.BackgroundStyle = BackgroundStyle;\n /***/\n },\n /* 38 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n };\n var DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\n var DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\n var DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n exports.DirectionAttribute = DirectionAttribute;\n exports.DirectionClass = DirectionClass;\n exports.DirectionStyle = DirectionStyle;\n /***/\n },\n /* 39 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontClass = exports.FontStyle = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n };\n var FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\n var FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\n\n _createClass(FontStyleAttributor, [{\n key: 'value',\n value: function value(node) {\n return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n\n return FontStyleAttributor;\n }(_parchment2.default.Attributor.Style);\n\n var FontStyle = new FontStyleAttributor('font', 'font-family', config);\n exports.FontStyle = FontStyle;\n exports.FontClass = FontClass;\n /***/\n },\n /* 40 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SizeStyle = exports.SizeClass = undefined;\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n });\n var SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n });\n exports.SizeClass = SizeClass;\n exports.SizeStyle = SizeStyle;\n /***/\n },\n /* 41 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n module.exports = {\n 'align': {\n '': __webpack_require__(76),\n 'center': __webpack_require__(77),\n 'right': __webpack_require__(78),\n 'justify': __webpack_require__(79)\n },\n 'background': __webpack_require__(80),\n 'blockquote': __webpack_require__(81),\n 'bold': __webpack_require__(82),\n 'clean': __webpack_require__(83),\n 'code': __webpack_require__(58),\n 'code-block': __webpack_require__(58),\n 'color': __webpack_require__(84),\n 'direction': {\n '': __webpack_require__(85),\n 'rtl': __webpack_require__(86)\n },\n 'float': {\n 'center': __webpack_require__(87),\n 'full': __webpack_require__(88),\n 'left': __webpack_require__(89),\n 'right': __webpack_require__(90)\n },\n 'formula': __webpack_require__(91),\n 'header': {\n '1': __webpack_require__(92),\n '2': __webpack_require__(93)\n },\n 'italic': __webpack_require__(94),\n 'image': __webpack_require__(95),\n 'indent': {\n '+1': __webpack_require__(96),\n '-1': __webpack_require__(97)\n },\n 'link': __webpack_require__(98),\n 'list': {\n 'ordered': __webpack_require__(99),\n 'bullet': __webpack_require__(100),\n 'check': __webpack_require__(101)\n },\n 'script': {\n 'sub': __webpack_require__(102),\n 'super': __webpack_require__(103)\n },\n 'strike': __webpack_require__(104),\n 'underline': __webpack_require__(105),\n 'video': __webpack_require__(106)\n };\n /***/\n },\n /* 42 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getLastChangeIndex = exports.default = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _quill = __webpack_require__(5);\n\n var _quill2 = _interopRequireDefault(_quill);\n\n var _module = __webpack_require__(9);\n\n var _module2 = _interopRequireDefault(_module);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var History = function (_Module) {\n _inherits(History, _Module);\n\n function History(quill, options) {\n _classCallCheck(this, History);\n\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n\n _this.clear();\n\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n\n if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n\n _this.quill.keyboard.addBinding({\n key: 'Z',\n shortKey: true\n }, _this.undo.bind(_this));\n\n _this.quill.keyboard.addBinding({\n key: 'Z',\n shortKey: true,\n shiftKey: true\n }, _this.redo.bind(_this));\n\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({\n key: 'Y',\n shortKey: true\n }, _this.redo.bind(_this));\n }\n\n return _this;\n }\n\n _createClass(History, [{\n key: 'change',\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n this.stack[dest].push(delta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(delta[source]);\n this.quill.setSelection(index);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stack = {\n undo: [],\n redo: []\n };\n }\n }, {\n key: 'cutoff',\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: 'record',\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = this.quill.getContents().diff(oldDelta);\n var timestamp = Date.now();\n\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta.undo);\n changeDelta = delta.redo.compose(changeDelta);\n } else {\n this.lastRecorded = timestamp;\n }\n\n this.stack.undo.push({\n redo: changeDelta,\n undo: undoDelta\n });\n\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: 'redo',\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: 'transform',\n value: function transform(delta) {\n this.stack.undo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n this.stack.redo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n }\n }, {\n key: 'undo',\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n\n return History;\n }(_module2.default);\n\n History.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n };\n\n function endsWithNewlineChange(delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n });\n }\n\n return false;\n }\n\n function getLastChangeIndex(delta) {\n var deleteLength = delta.reduce(function (length, op) {\n length += op.delete || 0;\n return length;\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n\n if (endsWithNewlineChange(delta)) {\n changeIndex -= 1;\n }\n\n return changeIndex;\n }\n\n exports.default = History;\n exports.getLastChangeIndex = getLastChangeIndex;\n /***/\n },\n /* 43 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.BaseTooltip = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _extend = __webpack_require__(3);\n\n var _extend2 = _interopRequireDefault(_extend);\n\n var _quillDelta = __webpack_require__(2);\n\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n\n var _emitter = __webpack_require__(8);\n\n var _emitter2 = _interopRequireDefault(_emitter);\n\n var _keyboard = __webpack_require__(23);\n\n var _keyboard2 = _interopRequireDefault(_keyboard);\n\n var _theme = __webpack_require__(34);\n\n var _theme2 = _interopRequireDefault(_theme);\n\n var _colorPicker = __webpack_require__(59);\n\n var _colorPicker2 = _interopRequireDefault(_colorPicker);\n\n var _iconPicker = __webpack_require__(60);\n\n var _iconPicker2 = _interopRequireDefault(_iconPicker);\n\n var _picker = __webpack_require__(28);\n\n var _picker2 = _interopRequireDefault(_picker);\n\n var _tooltip = __webpack_require__(61);\n\n var _tooltip2 = _interopRequireDefault(_tooltip);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var ALIGNS = [false, 'center', 'right', 'justify'];\n var COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n var FONTS = [false, 'serif', 'monospace'];\n var HEADERS = ['1', '2', '3', false];\n var SIZES = ['small', false, 'large', 'huge'];\n\n var BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n var listener = function listener(e) {\n if (!document.body.contains(quill.root)) {\n return document.body.removeEventListener('click', listener);\n }\n\n if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n _this.tooltip.hide();\n }\n\n if (_this.pickers != null) {\n _this.pickers.forEach(function (picker) {\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n\n quill.emitter.listenDOM('click', document.body, listener);\n return _this;\n }\n\n _createClass(BaseTheme, [{\n key: 'addModule',\n value: function addModule(name) {\n var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n\n if (name === 'toolbar') {\n this.extendToolbar(module);\n }\n\n return module;\n }\n }, {\n key: 'buildButtons',\n value: function buildButtons(buttons, icons) {\n buttons.forEach(function (button) {\n var className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(function (name) {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n\n if (name === 'direction') {\n button.innerHTML = icons[name][''] + icons[name]['rtl'];\n } else if (typeof icons[name] === 'string') {\n button.innerHTML = icons[name];\n } else {\n var value = button.value || '';\n\n if (value != null && icons[name][value]) {\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n }, {\n key: 'buildPickers',\n value: function buildPickers(selects, icons) {\n var _this2 = this;\n\n this.pickers = selects.map(function (select) {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n\n return new _iconPicker2.default(select, icons.align);\n } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n var format = select.classList.contains('ql-background') ? 'background' : 'color';\n\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n\n return new _colorPicker2.default(select, icons[format]);\n } else {\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n\n return new _picker2.default(select);\n }\n });\n\n var update = function update() {\n _this2.pickers.forEach(function (picker) {\n picker.update();\n });\n };\n\n this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n }\n }]);\n\n return BaseTheme;\n }(_theme2.default);\n\n BaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula: function formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image: function image() {\n var _this3 = this;\n\n var fileInput = this.container.querySelector('input.ql-image[type=file]');\n\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', function () {\n if (fileInput.files != null && fileInput.files[0] != null) {\n var reader = new FileReader();\n\n reader.onload = function (e) {\n var range = _this3.quill.getSelection(true);\n\n _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({\n image: e.target.result\n }), _emitter2.default.sources.USER);\n\n _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n\n fileInput.value = \"\";\n };\n\n reader.readAsDataURL(fileInput.files[0]);\n }\n });\n this.container.appendChild(fileInput);\n }\n\n fileInput.click();\n },\n video: function video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n });\n\n var BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n\n _this4.listen();\n\n return _this4;\n }\n\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n\n this.textbox.addEventListener('keydown', function (event) {\n if (_keyboard2.default.match(event, 'enter')) {\n _this5.save();\n\n event.preventDefault();\n } else if (_keyboard2.default.match(event, 'escape')) {\n _this5.cancel();\n\n event.preventDefault();\n }\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.hide();\n }\n }, {\n key: 'edit',\n value: function edit() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n this.root.setAttribute('data-mode', mode);\n }\n }, {\n key: 'restoreFocus',\n value: function restoreFocus() {\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.quill.focus();\n this.quill.scrollingContainer.scrollTop = scrollTop;\n }\n }, {\n key: 'save',\n value: function save() {\n var value = this.textbox.value;\n\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n var scrollTop = this.quill.root.scrollTop;\n\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, _emitter2.default.sources.USER);\n }\n\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n\n case 'video':\n {\n value = extractVideoUrl(value);\n }\n // eslint-disable-next-line no-fallthrough\n\n case 'formula':\n {\n if (!value) break;\n var range = this.quill.getSelection(true);\n\n if (range != null) {\n var index = range.index + range.length;\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n }\n\n this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n }\n\n break;\n }\n\n default:\n }\n\n this.textbox.value = '';\n this.hide();\n }\n }]);\n\n return BaseTooltip;\n }(_tooltip2.default);\n\n function extractVideoUrl(url) {\n var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n\n if (match) {\n return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n }\n\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n // eslint-disable-line no-cond-assign\n return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n }\n\n return url;\n }\n\n function fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n values.forEach(function (value) {\n var option = document.createElement('option');\n\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', value);\n }\n\n select.appendChild(option);\n });\n }\n\n exports.BaseTooltip = BaseTooltip;\n exports.default = BaseTheme;\n /***/\n },\n /* 44 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var LinkedList =\n /** @class */\n function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n\n LinkedList.prototype.append = function () {\n var nodes = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n\n this.insertBefore(nodes[0], null);\n\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n\n LinkedList.prototype.contains = function (node) {\n var cur,\n next = this.iterator();\n\n while (cur = next()) {\n if (cur === node) return true;\n }\n\n return false;\n };\n\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node) return;\n node.next = refNode;\n\n if (refNode != null) {\n node.prev = refNode.prev;\n\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n\n refNode.prev = node;\n\n if (refNode === this.head) {\n this.head = node;\n }\n } else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n } else {\n node.prev = null;\n this.head = this.tail = node;\n }\n\n this.length += 1;\n };\n\n LinkedList.prototype.offset = function (target) {\n var index = 0,\n cur = this.head;\n\n while (cur != null) {\n if (cur === target) return index;\n index += cur.length();\n cur = cur.next;\n }\n\n return -1;\n };\n\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node)) return;\n if (node.prev != null) node.prev.next = node.next;\n if (node.next != null) node.next.prev = node.prev;\n if (node === this.head) this.head = node.next;\n if (node === this.tail) this.tail = node.prev;\n this.length -= 1;\n };\n\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) {\n curNode = this.head;\n } // TODO use yield when we can\n\n\n return function () {\n var ret = curNode;\n if (curNode != null) curNode = curNode.next;\n return ret;\n };\n };\n\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n\n var cur,\n next = this.iterator();\n\n while (cur = next()) {\n var length = cur.length();\n\n if (index < length || inclusive && index === length && (cur.next == null || cur.next.length() !== 0)) {\n return [cur, index];\n }\n\n index -= length;\n }\n\n return [null, 0];\n };\n\n LinkedList.prototype.forEach = function (callback) {\n var cur,\n next = this.iterator();\n\n while (cur = next()) {\n callback(cur);\n }\n };\n\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0) return;\n\n var _a = this.find(index),\n startNode = _a[0],\n offset = _a[1];\n\n var cur,\n curIndex = index - offset,\n next = this.iterator(startNode);\n\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n } else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n\n curIndex += curLength;\n }\n };\n\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur,\n next = this.iterator();\n\n while (cur = next()) {\n memo = callback(memo, cur);\n }\n\n return memo;\n };\n\n return LinkedList;\n }();\n\n exports.default = LinkedList;\n /***/\n },\n /* 45 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var container_1 = __webpack_require__(17);\n\n var Registry = __webpack_require__(1);\n\n var OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true\n };\n var MAX_OPTIMIZE_ITERATIONS = 100;\n\n var ScrollBlot =\n /** @class */\n function (_super) {\n __extends(ScrollBlot, _super);\n\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n\n _this.attach();\n\n return _this;\n }\n\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n\n this.observer.disconnect();\n };\n\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n } else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n\n _super.prototype.insertAt.call(this, index, value, def);\n };\n\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n\n if (mutations === void 0) {\n mutations = [];\n }\n\n if (context === void 0) {\n context = {};\n }\n\n _super.prototype.optimize.call(this, context); // We must modify mutations directly, cannot make copy and then modify\n\n\n var records = [].slice.call(this.observer.takeRecords()); // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n\n while (records.length > 0) {\n mutations.push(records.pop());\n } // TODO use WeakMap\n\n\n var mark = function mark(blot, markParent) {\n if (markParent === void 0) {\n markParent = true;\n }\n\n if (blot == null || blot === _this) return;\n if (blot.domNode.parentNode == null) return; // @ts-ignore\n\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n\n if (markParent) mark(blot.parent);\n };\n\n var optimize = function optimize(blot) {\n // Post-order traversal\n if ( // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null || // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n\n blot.optimize(context);\n };\n\n var remaining = mutations;\n\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null) return;\n\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n } else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n\n while (records.length > 0) {\n mutations.push(records.pop());\n }\n }\n };\n\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n\n if (context === void 0) {\n context = {};\n }\n\n mutations = mutations || this.observer.takeRecords(); // TODO use WeakMap\n\n mutations.map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null) return null; // @ts-ignore\n\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n } else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n }).forEach(function (blot) {\n if (blot == null || blot === _this || //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null) return; // @ts-ignore\n\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n }); // @ts-ignore\n\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n\n this.optimize(mutations, context);\n };\n\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n }(container_1.default);\n\n exports.default = ScrollBlot;\n /***/\n },\n /* 46 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var format_1 = __webpack_require__(18);\n\n var Registry = __webpack_require__(1); // Shallow object comparison\n\n\n function isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length) return false; // @ts-ignore\n\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop]) return false;\n }\n\n return true;\n }\n\n var InlineBlot =\n /** @class */\n function (_super) {\n __extends(InlineBlot, _super);\n\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName) return undefined;\n return _super.formats.call(this, domNode);\n };\n\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n\n _this.attributes.copy(child);\n });\n this.unwrap();\n } else {\n _super.prototype.format.call(this, name, value);\n }\n };\n\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n } else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n\n var formats = this.formats();\n\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n\n var next = this.next;\n\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n }(format_1.default);\n\n exports.default = InlineBlot;\n /***/\n },\n /* 47 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var format_1 = __webpack_require__(18);\n\n var Registry = __webpack_require__(1);\n\n var BlockBlot =\n /** @class */\n function (_super) {\n __extends(BlockBlot, _super);\n\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName) return undefined;\n return _super.formats.call(this, domNode);\n };\n\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n } else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n } else {\n _super.prototype.format.call(this, name, value);\n }\n };\n\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n } else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n } else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n } else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n }(format_1.default);\n\n exports.default = BlockBlot;\n /***/\n },\n /* 48 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var leaf_1 = __webpack_require__(19);\n\n var EmbedBlot =\n /** @class */\n function (_super) {\n __extends(EmbedBlot, _super);\n\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n } else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n\n return EmbedBlot;\n }(leaf_1.default);\n\n exports.default = EmbedBlot;\n /***/\n },\n /* 49 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var leaf_1 = __webpack_require__(19);\n\n var Registry = __webpack_require__(1);\n\n var TextBlot =\n /** @class */\n function (_super) {\n __extends(TextBlot, _super);\n\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n\n TextBlot.value = function (domNode) {\n var text = domNode.data; // @ts-ignore\n\n if (text['normalize']) text = text['normalize']();\n return text;\n };\n\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n\n return -1;\n };\n\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n } else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n\n this.text = this.statics.value(this.domNode);\n\n if (this.text.length === 0) {\n this.remove();\n } else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n\n return [this.domNode, index];\n };\n\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) {\n force = false;\n }\n\n if (!force) {\n if (index === 0) return this;\n if (index === this.length()) return this.next;\n }\n\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n\n TextBlot.prototype.value = function () {\n return this.text;\n };\n\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n }(leaf_1.default);\n\n exports.default = TextBlot;\n /***/\n },\n /* 50 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var elem = document.createElement('div');\n elem.classList.toggle('test-class', false);\n\n if (elem.classList.contains('test-class')) {\n var _toggle = DOMTokenList.prototype.toggle;\n\n DOMTokenList.prototype.toggle = function (token, force) {\n if (arguments.length > 1 && !this.contains(token) === !force) {\n return force;\n } else {\n return _toggle.call(this, token);\n }\n };\n }\n\n if (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n }\n\n if (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n }\n\n if (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, \"find\", {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n\n return undefined;\n }\n });\n }\n\n document.addEventListener(\"DOMContentLoaded\", function () {\n // Disable resizing in Firefox\n document.execCommand(\"enableObjectResizing\", false, false); // Disable automatic linkifying in IE11\n\n document.execCommand(\"autoUrlDetect\", false, false);\n });\n /***/\n },\n /* 51 */\n\n /***/\n function (module, exports) {\n /**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n /**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\n var DIFF_DELETE = -1;\n var DIFF_INSERT = 1;\n var DIFF_EQUAL = 0;\n /**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\n\n function diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n\n return [];\n } // Check cursor_pos within bounds\n\n\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n } // Trim off common prefix (speedup).\n\n\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength); // Trim off common suffix (speedup).\n\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength); // Compute the diff on the middle block.\n\n var diffs = diff_compute_(text1, text2); // Restore the prefix and suffix.\n\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n\n diff_cleanupMerge(diffs);\n\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n\n diffs = fix_emoji(diffs);\n return diffs;\n }\n\n ;\n /**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\n\n function diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)], [DIFF_EQUAL, shorttext], [DIFF_INSERT, longtext.substring(i + shorttext.length)]]; // Swap insertions for deletions if diff is reversed.\n\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n } // Check to see if the problem can be split in two.\n\n\n var hm = diff_halfMatch_(text1, text2);\n\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4]; // Send both pairs off for separate processing.\n\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b); // Merge the results.\n\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n }\n\n ;\n /**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\n\n function diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length); // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length; // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n\n var front = delta % 2 != 0; // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n\n if (k1 == -d || k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1]) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n\n var y1 = x1 - k1;\n\n while (x1 < text1_length && y1 < text2_length && text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n\n v1[k1_offset] = x1;\n\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n } // Walk the reverse path one step.\n\n\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n\n if (k2 == -d || k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1]) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n\n var y2 = x2 - k2;\n\n while (x2 < text1_length && y2 < text2_length && text1.charAt(text1_length - x2 - 1) == text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n\n v2[k2_offset] = x2;\n\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset; // Mirror x2 onto top-left coordinate system.\n\n x2 = text1_length - x2;\n\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n } // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n\n\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n ;\n /**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\n\n function diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y); // Compute both diffs serially.\n\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n return diffs.concat(diffsb);\n }\n\n ;\n /**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\n\n function diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n } // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n\n\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) == text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n return pointermid;\n }\n\n ;\n /**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\n\n function diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n } // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n\n\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) == text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n return pointermid;\n }\n\n ;\n /**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\n\n function diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n\n\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i), shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i), shorttext.substring(0, j));\n\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) + shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n } // First check if the second quarter is the seed for a half-match.\n\n\n var hm1 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 4)); // Check again based on the third quarter.\n\n var hm2 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 2));\n var hm;\n\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n } // A half-match was found, sort out the return data.\n\n\n var text1_a, text1_b, text2_a, text2_b;\n\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n }\n\n ;\n /**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\n\n function diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n\n if (commonlength !== 0) {\n if (pointer - count_delete - count_insert > 0 && diffs[pointer - count_delete - count_insert - 1][0] == DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] += text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL, text_insert.substring(0, commonlength)]);\n pointer++;\n }\n\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n } // Factor out any common suffixies.\n\n\n commonlength = diff_commonSuffix(text_insert, text_delete);\n\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length - commonlength);\n text_delete = text_delete.substring(0, text_delete.length - commonlength);\n }\n } // Delete the offending records and add the merged ones.\n\n\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert, count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete, count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert, count_delete + count_insert, [DIFF_DELETE, text_delete], [DIFF_INSERT, text_insert]);\n }\n\n pointer = pointer - count_delete - count_insert + (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n } // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n\n\n var changes = false;\n pointer = 1; // Intentionally ignore the first and last element (don't need checking).\n\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL && diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length - diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] + diffs[pointer][1].substring(0, diffs[pointer][1].length - diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) == diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] = diffs[pointer][1].substring(diffs[pointer + 1][1].length) + diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n\n pointer++;\n } // If shifts were made, the diff needs reordering and another shift sweep.\n\n\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n }\n\n ;\n var diff = diff_main;\n diff.INSERT = DIFF_INSERT;\n diff.DELETE = DIFF_DELETE;\n diff.EQUAL = DIFF_EQUAL;\n module.exports = diff;\n /*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\n\n function cursor_normalize_diff(diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice(); // split d into two diff changes\n\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n\n throw new Error('cursor_pos is out of bounds!');\n }\n /*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\n\n\n function fix_cursor(diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d);\n return merge_tuples(ndiffs, cursor_pointer, 2);\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n\n return merge_tuples(ndiffs, cursor_pointer, 3);\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n }\n /*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\n\n\n function fix_emoji(diffs) {\n var compact = false;\n\n var starts_with_pair_end = function starts_with_pair_end(str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n };\n\n var ends_with_pair_start = function ends_with_pair_start(str) {\n return str.charCodeAt(str.length - 1) >= 0xD800 && str.charCodeAt(str.length - 1) <= 0xDBFF;\n };\n\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i - 2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i - 2][1]) && diffs[i - 1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i - 1][1]) && diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n diffs[i - 1][1] = diffs[i - 2][1].slice(-1) + diffs[i - 1][1];\n diffs[i][1] = diffs[i - 2][1].slice(-1) + diffs[i][1];\n diffs[i - 2][1] = diffs[i - 2][1].slice(0, -1);\n }\n }\n\n if (!compact) {\n return diffs;\n }\n\n var fixed_diffs = [];\n\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n\n return fixed_diffs;\n }\n /*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\n\n\n function merge_tuples(diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i + 1];\n\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n\n return diffs;\n }\n /***/\n\n },\n /* 52 */\n\n /***/\n function (module, exports) {\n exports = module.exports = typeof Object.keys === 'function' ? Object.keys : shim;\n exports.shim = shim;\n\n function shim(obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n }\n /***/\n\n },\n /* 53 */\n\n /***/\n function (module, exports) {\n var supportsArgumentsClass = function () {\n return Object.prototype.toString.call(arguments);\n }() == '[object Arguments]';\n\n exports = module.exports = supportsArgumentsClass ? supported : unsupported;\n exports.supported = supported;\n\n function supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n }\n\n ;\n exports.unsupported = unsupported;\n\n function unsupported(object) {\n return object && _typeof2(object) == 'object' && typeof object.length == 'number' && Object.prototype.hasOwnProperty.call(object, 'callee') && !Object.prototype.propertyIsEnumerable.call(object, 'callee') || false;\n }\n\n ;\n /***/\n },\n /* 54 */\n\n /***/\n function (module, exports) {\n 'use strict';\n\n var has = Object.prototype.hasOwnProperty,\n prefix = '~';\n /**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\n\n function Events() {} //\n // We try to not inherit from `Object.prototype`. In some engines creating an\n // instance in this way is faster than calling `Object.create(null)` directly.\n // If `Object.create(null)` is not supported we prefix the event names with a\n // character to make sure that the built-in object properties are not\n // overridden or used as an attack vector.\n //\n\n\n if (Object.create) {\n Events.prototype = Object.create(null); //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n\n if (!new Events().__proto__) prefix = false;\n }\n /**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\n\n\n function EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n }\n /**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\n\n\n function EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n }\n /**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\n\n\n EventEmitter.prototype.eventNames = function eventNames() {\n var names = [],\n events,\n name;\n if (this._eventsCount === 0) return names;\n\n for (name in events = this._events) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n };\n /**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\n\n\n EventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event,\n available = this._events[evt];\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n };\n /**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\n\n\n EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n if (!this._events[evt]) return false;\n var listeners = this._events[evt],\n len = arguments.length,\n args,\n i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1:\n return listeners.fn.call(listeners.context), true;\n\n case 2:\n return listeners.fn.call(listeners.context, a1), true;\n\n case 3:\n return listeners.fn.call(listeners.context, a1, a2), true;\n\n case 4:\n return listeners.fn.call(listeners.context, a1, a2, a3), true;\n\n case 5:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n\n case 6:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len - 1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length,\n j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1:\n listeners[i].fn.call(listeners[i].context);\n break;\n\n case 2:\n listeners[i].fn.call(listeners[i].context, a1);\n break;\n\n case 3:\n listeners[i].fn.call(listeners[i].context, a1, a2);\n break;\n\n case 4:\n listeners[i].fn.call(listeners[i].context, a1, a2, a3);\n break;\n\n default:\n if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n };\n /**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\n\n\n EventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this),\n evt = prefix ? prefix + event : event;\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;else if (!this._events[evt].fn) this._events[evt].push(listener);else this._events[evt] = [this._events[evt], listener];\n return this;\n };\n /**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\n\n\n EventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true),\n evt = prefix ? prefix + event : event;\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;else if (!this._events[evt].fn) this._events[evt].push(listener);else this._events[evt] = [this._events[evt], listener];\n return this;\n };\n /**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\n\n\n EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n if (!this._events[evt]) return this;\n\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {\n if (--this._eventsCount === 0) this._events = new Events();else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {\n events.push(listeners[i]);\n }\n } //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n\n\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;else if (--this._eventsCount === 0) this._events = new Events();else delete this._events[evt];\n }\n\n return this;\n };\n /**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\n\n\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n }; //\n // Alias methods names because people roll like that.\n //\n\n\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.addListener = EventEmitter.prototype.on; //\n // This function doesn't apply anymore.\n //\n\n EventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n }; //\n // Expose the prefix.\n //\n\n\n EventEmitter.prefixed = prefix; //\n // Allow `EventEmitter` to be imported as module namespace.\n //\n\n EventEmitter.EventEmitter = EventEmitter; //\n // Expose the module.\n //\n\n if ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n }\n /***/\n\n },\n /* 55 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _extend2 = __webpack_require__(3);\n\n var _extend3 = _interopRequireDefault(_extend2);\n\n var _quillDelta = __webpack_require__(2);\n\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _quill = __webpack_require__(5);\n\n var _quill2 = _interopRequireDefault(_quill);\n\n var _logger = __webpack_require__(10);\n\n var _logger2 = _interopRequireDefault(_logger);\n\n var _module = __webpack_require__(9);\n\n var _module2 = _interopRequireDefault(_module);\n\n var _align = __webpack_require__(36);\n\n var _background = __webpack_require__(37);\n\n var _code = __webpack_require__(13);\n\n var _code2 = _interopRequireDefault(_code);\n\n var _color = __webpack_require__(26);\n\n var _direction = __webpack_require__(38);\n\n var _font = __webpack_require__(39);\n\n var _size = __webpack_require__(40);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var debug = (0, _logger2.default)('quill:clipboard');\n var DOM_KEY = '__ql-matcher';\n var CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n var ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n }, {});\n var STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n }, {});\n\n var Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n\n _this.container = _this.quill.addContainer('ql-clipboard');\n\n _this.container.setAttribute('contenteditable', true);\n\n _this.container.setAttribute('tabindex', -1);\n\n _this.matchers = [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n\n if (!options.matchVisual && matcher === matchSpacing) return;\n\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n\n _createClass(Clipboard, [{\n key: 'addMatcher',\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: 'convert',\n value: function convert(html) {\n if (typeof html === 'string') {\n this.container.innerHTML = html.replace(/\\>\\r?\\n +\\<'); // Remove spaces between tags\n\n return this.convert();\n }\n\n var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n\n if (formats[_code2.default.blotName]) {\n var text = this.container.innerText;\n this.container.innerHTML = '';\n return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n }\n\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n\n var delta = traverse(this.container, elementMatchers, textMatchers); // Remove trailing newline\n\n if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n }\n\n debug.log('convert', this.container.innerHTML, delta);\n this.container.innerHTML = '';\n return delta;\n }\n }, {\n key: 'dangerouslyPasteHTML',\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n if (typeof index === 'string') {\n this.quill.setContents(this.convert(index), html);\n this.quill.setSelection(0, _quill2.default.sources.SILENT);\n } else {\n var paste = this.convert(html);\n this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(e) {\n var _this2 = this;\n\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n var range = this.quill.getSelection();\n var delta = new _quillDelta2.default().retain(range.index);\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.container.focus();\n this.quill.selection.update(_quill2.default.sources.SILENT);\n setTimeout(function () {\n delta = delta.concat(_this2.convert()).delete(range.length);\n\n _this2.quill.updateContents(delta, _quill2.default.sources.USER); // range.length contributes to delta.length()\n\n\n _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n\n _this2.quill.scrollingContainer.scrollTop = scrollTop;\n\n _this2.quill.focus();\n }, 1);\n }\n }, {\n key: 'prepareMatching',\n value: function prepareMatching() {\n var _this3 = this;\n\n var elementMatchers = [],\n textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n\n default:\n [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n // TODO use weakmap\n node[DOM_KEY] = node[DOM_KEY] || [];\n node[DOM_KEY].push(matcher);\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }]);\n\n return Clipboard;\n }(_module2.default);\n\n Clipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n };\n\n function applyFormat(delta, format, value) {\n if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n return Object.keys(format).reduce(function (delta, key) {\n return applyFormat(delta, key, format[key]);\n }, delta);\n } else {\n return delta.reduce(function (delta, op) {\n if (op.attributes && op.attributes[format]) {\n return delta.push(op);\n } else {\n return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n }\n }, new _quillDelta2.default());\n }\n }\n\n function computeStyle(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) return {};\n var DOM_KEY = '__ql-computed-style';\n return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n }\n\n function deltaEndsWith(delta, text) {\n var endText = \"\";\n\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n\n return endText.slice(-1 * text.length) === text;\n }\n\n function isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n\n var style = computeStyle(node);\n return ['block', 'list-item'].indexOf(style.display) > -1;\n }\n\n function traverse(node, elementMatchers, textMatchers) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta);\n }, new _quillDelta2.default());\n } else if (node.nodeType === node.ELEMENT_NODE) {\n return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n }\n\n return delta.concat(childrenDelta);\n }, new _quillDelta2.default());\n } else {\n return new _quillDelta2.default();\n }\n }\n\n function matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n }\n\n function matchAttributor(node, delta) {\n var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n\n var classes = _parchment2.default.Attributor.Class.keys(node);\n\n var styles = _parchment2.default.Attributor.Style.keys(node);\n\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n\n attr = STYLE_ATTRIBUTORS[name];\n\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n\n return delta;\n }\n\n function matchBlot(node, delta) {\n var match = _parchment2.default.query(node);\n\n if (match == null) return delta;\n\n if (match.prototype instanceof _parchment2.default.Embed) {\n var embed = {};\n var value = match.value(node);\n\n if (value != null) {\n embed[match.blotName] = value;\n delta = new _quillDelta2.default().insert(embed, match.formats(node));\n }\n } else if (typeof match.formats === 'function') {\n delta = applyFormat(delta, match.blotName, match.formats(node));\n }\n\n return delta;\n }\n\n function matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n\n return delta;\n }\n\n function matchIgnore() {\n return new _quillDelta2.default();\n }\n\n function matchIndent(node, delta) {\n var match = _parchment2.default.query(node);\n\n if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n\n var indent = -1,\n parent = node.parentNode;\n\n while (!parent.classList.contains('ql-clipboard')) {\n if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n indent += 1;\n }\n\n parent = parent.parentNode;\n }\n\n if (indent <= 0) return delta;\n return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, {\n indent: indent\n }));\n }\n\n function matchNewline(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n delta.insert('\\n');\n }\n }\n\n return delta;\n }\n\n function matchSpacing(node, delta) {\n if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n\n if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n delta.insert('\\n');\n }\n }\n\n return delta;\n }\n\n function matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n\n if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n formats.italic = true;\n }\n\n if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n formats.bold = true;\n }\n\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n delta = new _quillDelta2.default().insert('\\t').concat(delta);\n }\n\n return delta;\n }\n\n function matchText(node, delta) {\n var text = node.data; // Word represents empty line with  \n\n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n\n if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n return delta;\n }\n\n if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n // eslint-disable-next-line func-style\n var replacer = function replacer(collapse, match) {\n match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n\n return match.length < 1 && collapse ? ' ' : match;\n };\n\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n\n return delta.insert(text);\n }\n\n exports.default = Clipboard;\n exports.matchAttributor = matchAttributor;\n exports.matchBlot = matchBlot;\n exports.matchNewline = matchNewline;\n exports.matchSpacing = matchSpacing;\n exports.matchText = matchText;\n /***/\n },\n /* 56 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _inline = __webpack_require__(6);\n\n var _inline2 = _interopRequireDefault(_inline);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n\n function Bold() {\n _classCallCheck(this, Bold);\n\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\n\n _createClass(Bold, [{\n key: 'optimize',\n value: function optimize(context) {\n _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: 'create',\n value: function create() {\n return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return Bold;\n }(_inline2.default);\n\n Bold.blotName = 'bold';\n Bold.tagName = ['STRONG', 'B'];\n exports.default = Bold;\n /***/\n },\n /* 57 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.addControls = exports.default = undefined;\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _quillDelta = __webpack_require__(2);\n\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _quill = __webpack_require__(5);\n\n var _quill2 = _interopRequireDefault(_quill);\n\n var _logger = __webpack_require__(10);\n\n var _logger2 = _interopRequireDefault(_logger);\n\n var _module = __webpack_require__(9);\n\n var _module2 = _interopRequireDefault(_module);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var debug = (0, _logger2.default)('quill:toolbar');\n\n var Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n if (Array.isArray(_this.options.container)) {\n var container = document.createElement('div');\n addControls(container, _this.options.container);\n quill.container.parentNode.insertBefore(container, quill.container);\n _this.container = container;\n } else if (typeof _this.options.container === 'string') {\n _this.container = document.querySelector(_this.options.container);\n } else {\n _this.container = _this.options.container;\n }\n\n if (!(_this.container instanceof HTMLElement)) {\n var _ret;\n\n return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n }\n\n _this.container.classList.add('ql-toolbar');\n\n _this.controls = [];\n _this.handlers = {};\n Object.keys(_this.options.handlers).forEach(function (format) {\n _this.addHandler(format, _this.options.handlers[format]);\n });\n [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n _this.attach(input);\n });\n\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n if (type === _quill2.default.events.SELECTION_CHANGE) {\n _this.update(range);\n }\n });\n\n _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n var _this$quill$selection = _this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n _this.update(range);\n });\n\n return _this;\n }\n\n _createClass(Toolbar, [{\n key: 'addHandler',\n value: function addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n }, {\n key: 'attach',\n value: function attach(input) {\n var _this2 = this;\n\n var format = [].find.call(input.classList, function (className) {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n\n if (this.handlers[format] == null) {\n if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n debug.warn('ignoring attaching to disabled format', format, input);\n return;\n }\n\n if (_parchment2.default.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n }\n\n var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, function (e) {\n var value = void 0;\n\n if (input.tagName === 'SELECT') {\n if (input.selectedIndex < 0) return;\n var selected = input.options[input.selectedIndex];\n\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n value = input.value || !input.hasAttribute('value');\n }\n\n e.preventDefault();\n }\n\n _this2.quill.focus();\n\n var _quill$selection$getR = _this2.quill.selection.getRange(),\n _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n range = _quill$selection$getR2[0];\n\n if (_this2.handlers[format] != null) {\n _this2.handlers[format].call(_this2, value);\n } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n value = prompt('Enter ' + format);\n if (!value) return;\n\n _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n } else {\n _this2.quill.format(format, value, _quill2.default.sources.USER);\n }\n\n _this2.update(range);\n }); // TODO use weakmap\n\n this.controls.push([format, input]);\n }\n }, {\n key: 'update',\n value: function update(range) {\n var formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n format = _pair[0],\n input = _pair[1];\n\n if (input.tagName === 'SELECT') {\n var option = void 0;\n\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n var value = formats[format];\n\n if (typeof value === 'string') {\n value = value.replace(/\\\"/g, '\\\\\"');\n }\n\n option = input.querySelector('option[value=\"' + value + '\"]');\n }\n\n if (option == null) {\n input.value = ''; // TODO make configurable?\n\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else {\n if (range == null) {\n input.classList.remove('ql-active');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n } else {\n input.classList.toggle('ql-active', formats[format] != null);\n }\n }\n });\n }\n }]);\n\n return Toolbar;\n }(_module2.default);\n\n Toolbar.DEFAULTS = {};\n\n function addButton(container, format, value) {\n var input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add('ql-' + format);\n\n if (value != null) {\n input.value = value;\n }\n\n container.appendChild(input);\n }\n\n function addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n groups = [groups];\n }\n\n groups.forEach(function (controls) {\n var group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(function (control) {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n var format = Object.keys(control)[0];\n var value = control[format];\n\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n }\n\n function addSelect(container, format, values) {\n var input = document.createElement('select');\n input.classList.add('ql-' + format);\n values.forEach(function (value) {\n var option = document.createElement('option');\n\n if (value !== false) {\n option.setAttribute('value', value);\n } else {\n option.setAttribute('selected', 'selected');\n }\n\n input.appendChild(option);\n });\n container.appendChild(input);\n }\n\n Toolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n\n var range = this.quill.getSelection();\n if (range == null) return;\n\n if (range.length == 0) {\n var formats = this.quill.getFormat();\n Object.keys(formats).forEach(function (name) {\n // Clean functionality in existing apps only clean inline formats\n if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n _this3.quill.format(name, false);\n }\n });\n } else {\n this.quill.removeFormat(range, _quill2.default.sources.USER);\n }\n },\n direction: function direction(value) {\n var align = this.quill.getFormat()['align'];\n\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', _quill2.default.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, _quill2.default.sources.USER);\n }\n\n this.quill.format('direction', value, _quill2.default.sources.USER);\n },\n indent: function indent(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n var indent = parseInt(formats.indent || 0);\n\n if (value === '+1' || value === '-1') {\n var modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n }\n },\n link: function link(value) {\n if (value === true) {\n value = prompt('Enter link URL:');\n }\n\n this.quill.format('link', value, _quill2.default.sources.USER);\n },\n list: function list(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n\n if (value === 'check') {\n if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n this.quill.format('list', false, _quill2.default.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n }\n } else {\n this.quill.format('list', value, _quill2.default.sources.USER);\n }\n }\n }\n };\n exports.default = Toolbar;\n exports.addControls = addControls;\n /***/\n },\n /* 58 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 59 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _picker = __webpack_require__(28);\n\n var _picker2 = _interopRequireDefault(_picker);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n _this.label.innerHTML = label;\n\n _this.container.classList.add('ql-color-picker');\n\n [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n item.classList.add('ql-primary');\n });\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'buildItem',\n value: function buildItem(option) {\n var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n\n var colorLabel = this.label.querySelector('.ql-color-label');\n var value = item ? item.getAttribute('data-value') || '' : '';\n\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n }]);\n\n return ColorPicker;\n }(_picker2.default);\n\n exports.default = ColorPicker;\n /***/\n },\n /* 60 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _picker = __webpack_require__(28);\n\n var _picker2 = _interopRequireDefault(_picker);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n _this.container.classList.add('ql-icon-picker');\n\n [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n _this.defaultItem = _this.container.querySelector('.ql-selected');\n\n _this.selectItem(_this.defaultItem);\n\n return _this;\n }\n\n _createClass(IconPicker, [{\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n\n item = item || this.defaultItem;\n this.label.innerHTML = item.innerHTML;\n }\n }]);\n\n return IconPicker;\n }(_picker2.default);\n\n exports.default = IconPicker;\n /***/\n },\n /* 61 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n this.root.innerHTML = this.constructor.TEMPLATE;\n\n if (this.quill.root === this.quill.scrollingContainer) {\n this.quill.root.addEventListener('scroll', function () {\n _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n });\n }\n\n this.hide();\n }\n\n _createClass(Tooltip, [{\n key: 'hide',\n value: function hide() {\n this.root.classList.add('ql-hidden');\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2; // root.scrollTop should be 0 if scrollContainer !== root\n\n var top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = left + 'px';\n this.root.style.top = top + 'px';\n this.root.classList.remove('ql-flip');\n var containerBounds = this.boundsContainer.getBoundingClientRect();\n var rootBounds = this.root.getBoundingClientRect();\n var shift = 0;\n\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = left + shift + 'px';\n }\n\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = left + shift + 'px';\n }\n\n if (rootBounds.bottom > containerBounds.bottom) {\n var height = rootBounds.bottom - rootBounds.top;\n var verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = top - verticalShift + 'px';\n this.root.classList.add('ql-flip');\n }\n\n return shift;\n }\n }, {\n key: 'show',\n value: function show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n }]);\n\n return Tooltip;\n }();\n\n exports.default = Tooltip;\n /***/\n },\n /* 62 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _extend = __webpack_require__(3);\n\n var _extend2 = _interopRequireDefault(_extend);\n\n var _emitter = __webpack_require__(8);\n\n var _emitter2 = _interopRequireDefault(_emitter);\n\n var _base = __webpack_require__(43);\n\n var _base2 = _interopRequireDefault(_base);\n\n var _link = __webpack_require__(27);\n\n var _link2 = _interopRequireDefault(_link);\n\n var _selection = __webpack_require__(15);\n\n var _icons = __webpack_require__(41);\n\n var _icons2 = _interopRequireDefault(_icons);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var TOOLBAR_CONFIG = [[{\n header: ['1', '2', '3', false]\n }], ['bold', 'italic', 'underline', 'link'], [{\n list: 'ordered'\n }, {\n list: 'bullet'\n }], ['clean']];\n\n var SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-snow');\n\n return _this;\n }\n\n _createClass(SnowTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({\n key: 'K',\n shortKey: true\n }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n\n return SnowTheme;\n }(_base2.default);\n\n SnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (value) {\n var range = this.quill.getSelection();\n if (range == null || range.length == 0) return;\n var preview = this.quill.getText(range);\n\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = 'mailto:' + preview;\n }\n\n var tooltip = this.quill.theme.tooltip;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false);\n }\n }\n }\n }\n }\n });\n\n var SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n\n this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n if (_this3.root.classList.contains('ql-editing')) {\n _this3.save();\n } else {\n _this3.edit('link', _this3.preview.textContent);\n }\n\n event.preventDefault();\n });\n this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n if (_this3.linkRange != null) {\n var range = _this3.linkRange;\n\n _this3.restoreFocus();\n\n _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n\n delete _this3.linkRange;\n }\n\n event.preventDefault();\n\n _this3.hide();\n });\n this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n if (range == null) return;\n\n if (range.length === 0 && source === _emitter2.default.sources.USER) {\n var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n link = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (link != null) {\n _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n\n var preview = _link2.default.formats(link.domNode);\n\n _this3.preview.textContent = preview;\n\n _this3.preview.setAttribute('href', preview);\n\n _this3.show();\n\n _this3.position(_this3.quill.getBounds(_this3.linkRange));\n\n return;\n }\n } else {\n delete _this3.linkRange;\n }\n\n _this3.hide();\n });\n }\n }, {\n key: 'show',\n value: function show() {\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n\n this.root.removeAttribute('data-mode');\n }\n }]);\n\n return SnowTooltip;\n }(_base.BaseTooltip);\n\n SnowTooltip.TEMPLATE = ['', '', '', ''].join('');\n exports.default = SnowTheme;\n /***/\n },\n /* 63 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _core = __webpack_require__(29);\n\n var _core2 = _interopRequireDefault(_core);\n\n var _align = __webpack_require__(36);\n\n var _direction = __webpack_require__(38);\n\n var _indent = __webpack_require__(64);\n\n var _blockquote = __webpack_require__(65);\n\n var _blockquote2 = _interopRequireDefault(_blockquote);\n\n var _header = __webpack_require__(66);\n\n var _header2 = _interopRequireDefault(_header);\n\n var _list = __webpack_require__(67);\n\n var _list2 = _interopRequireDefault(_list);\n\n var _background = __webpack_require__(37);\n\n var _color = __webpack_require__(26);\n\n var _font = __webpack_require__(39);\n\n var _size = __webpack_require__(40);\n\n var _bold = __webpack_require__(56);\n\n var _bold2 = _interopRequireDefault(_bold);\n\n var _italic = __webpack_require__(68);\n\n var _italic2 = _interopRequireDefault(_italic);\n\n var _link = __webpack_require__(27);\n\n var _link2 = _interopRequireDefault(_link);\n\n var _script = __webpack_require__(69);\n\n var _script2 = _interopRequireDefault(_script);\n\n var _strike = __webpack_require__(70);\n\n var _strike2 = _interopRequireDefault(_strike);\n\n var _underline = __webpack_require__(71);\n\n var _underline2 = _interopRequireDefault(_underline);\n\n var _image = __webpack_require__(72);\n\n var _image2 = _interopRequireDefault(_image);\n\n var _video = __webpack_require__(73);\n\n var _video2 = _interopRequireDefault(_video);\n\n var _code = __webpack_require__(13);\n\n var _code2 = _interopRequireDefault(_code);\n\n var _formula = __webpack_require__(74);\n\n var _formula2 = _interopRequireDefault(_formula);\n\n var _syntax = __webpack_require__(75);\n\n var _syntax2 = _interopRequireDefault(_syntax);\n\n var _toolbar = __webpack_require__(57);\n\n var _toolbar2 = _interopRequireDefault(_toolbar);\n\n var _icons = __webpack_require__(41);\n\n var _icons2 = _interopRequireDefault(_icons);\n\n var _picker = __webpack_require__(28);\n\n var _picker2 = _interopRequireDefault(_picker);\n\n var _colorPicker = __webpack_require__(59);\n\n var _colorPicker2 = _interopRequireDefault(_colorPicker);\n\n var _iconPicker = __webpack_require__(60);\n\n var _iconPicker2 = _interopRequireDefault(_iconPicker);\n\n var _tooltip = __webpack_require__(61);\n\n var _tooltip2 = _interopRequireDefault(_tooltip);\n\n var _bubble = __webpack_require__(108);\n\n var _bubble2 = _interopRequireDefault(_bubble);\n\n var _snow = __webpack_require__(62);\n\n var _snow2 = _interopRequireDefault(_snow);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n _core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n 'attributors/class/align': _align.AlignClass,\n 'attributors/class/background': _background.BackgroundClass,\n 'attributors/class/color': _color.ColorClass,\n 'attributors/class/direction': _direction.DirectionClass,\n 'attributors/class/font': _font.FontClass,\n 'attributors/class/size': _size.SizeClass,\n 'attributors/style/align': _align.AlignStyle,\n 'attributors/style/background': _background.BackgroundStyle,\n 'attributors/style/color': _color.ColorStyle,\n 'attributors/style/direction': _direction.DirectionStyle,\n 'attributors/style/font': _font.FontStyle,\n 'attributors/style/size': _size.SizeStyle\n }, true);\n\n _core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n 'formats/bold': _bold2.default,\n 'formats/code': _code.Code,\n 'formats/italic': _italic2.default,\n 'formats/link': _link2.default,\n 'formats/script': _script2.default,\n 'formats/strike': _strike2.default,\n 'formats/underline': _underline2.default,\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n 'formats/list/item': _list.ListItem,\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n 'ui/icons': _icons2.default,\n 'ui/picker': _picker2.default,\n 'ui/icon-picker': _iconPicker2.default,\n 'ui/color-picker': _colorPicker2.default,\n 'ui/tooltip': _tooltip2.default\n }, true);\n\n exports.default = _core2.default;\n /***/\n },\n /* 64 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.IndentClass = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\n\n _createClass(IdentAttributor, [{\n key: 'add',\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n\n if (value === 0) {\n this.remove(node);\n return true;\n } else {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n }\n }\n }, {\n key: 'canAdd',\n value: function canAdd(node, value) {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n }\n }, {\n key: 'value',\n value: function value(node) {\n return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n }\n }]);\n\n return IdentAttributor;\n }(_parchment2.default.Attributor.Class);\n\n var IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n });\n exports.IndentClass = IndentClass;\n /***/\n },\n /* 65 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _block = __webpack_require__(4);\n\n var _block2 = _interopRequireDefault(_block);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n\n return Blockquote;\n }(_block2.default);\n\n Blockquote.blotName = 'blockquote';\n Blockquote.tagName = 'blockquote';\n exports.default = Blockquote;\n /***/\n },\n /* 66 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _block = __webpack_require__(4);\n\n var _block2 = _interopRequireDefault(_block);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Header = function (_Block) {\n _inherits(Header, _Block);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n\n return Header;\n }(_block2.default);\n\n Header.blotName = 'header';\n Header.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n exports.default = Header;\n /***/\n },\n /* 67 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.ListItem = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _block = __webpack_require__(4);\n\n var _block2 = _interopRequireDefault(_block);\n\n var _container = __webpack_require__(25);\n\n var _container2 = _interopRequireDefault(_container);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n\n function ListItem() {\n _classCallCheck(this, ListItem);\n\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\n\n _createClass(ListItem, [{\n key: 'format',\n value: function format(name, value) {\n if (name === List.blotName && !value) {\n this.replaceWith(_parchment2.default.create(this.statics.scope));\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n }\n }\n }, {\n key: 'remove',\n value: function remove() {\n if (this.prev == null && this.next == null) {\n this.parent.remove();\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n }\n }\n }, {\n key: 'replaceWith',\n value: function replaceWith(name, value) {\n this.parent.isolate(this.offset(this.parent), this.length());\n\n if (name === this.parent.statics.blotName) {\n this.parent.replaceWith(name, value);\n return this;\n } else {\n this.parent.unwrap();\n return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n }\n }\n }], [{\n key: 'formats',\n value: function formats(domNode) {\n return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n }\n }]);\n\n return ListItem;\n }(_block2.default);\n\n ListItem.blotName = 'list-item';\n ListItem.tagName = 'LI';\n\n var List = function (_Container) {\n _inherits(List, _Container);\n\n _createClass(List, null, [{\n key: 'create',\n value: function create(value) {\n var tagName = value === 'ordered' ? 'OL' : 'UL';\n\n var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n\n if (value === 'checked' || value === 'unchecked') {\n node.setAttribute('data-checked', value === 'checked');\n }\n\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'OL') return 'ordered';\n\n if (domNode.tagName === 'UL') {\n if (domNode.hasAttribute('data-checked')) {\n return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n } else {\n return 'bullet';\n }\n }\n\n return undefined;\n }\n }]);\n\n function List(domNode) {\n _classCallCheck(this, List);\n\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n var listEventHandler = function listEventHandler(e) {\n if (e.target.parentNode !== domNode) return;\n\n var format = _this2.statics.formats(domNode);\n\n var blot = _parchment2.default.find(e.target);\n\n if (format === 'checked') {\n blot.format('list', 'unchecked');\n } else if (format === 'unchecked') {\n blot.format('list', 'checked');\n }\n };\n\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\n\n _createClass(List, [{\n key: 'format',\n value: function format(name, value) {\n if (this.children.length > 0) {\n this.children.tail.format(name, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats() {\n // We don't inherit from FormatBlot\n return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot instanceof ListItem) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n } else {\n var index = ref == null ? this.length() : ref.offset(this);\n var after = this.split(index);\n after.parent.insertBefore(blot, after);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n\n var next = this.next;\n\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n if (target.statics.blotName !== this.statics.blotName) {\n var item = _parchment2.default.create(this.statics.defaultChild);\n\n target.moveChildren(item);\n this.appendChild(item);\n }\n\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n }\n }]);\n\n return List;\n }(_container2.default);\n\n List.blotName = 'list';\n List.scope = _parchment2.default.Scope.BLOCK_BLOT;\n List.tagName = ['OL', 'UL'];\n List.defaultChild = 'list-item';\n List.allowedChildren = [ListItem];\n exports.ListItem = ListItem;\n exports.default = List;\n /***/\n },\n /* 68 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _bold = __webpack_require__(56);\n\n var _bold2 = _interopRequireDefault(_bold);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n\n function Italic() {\n _classCallCheck(this, Italic);\n\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n\n return Italic;\n }(_bold2.default);\n\n Italic.blotName = 'italic';\n Italic.tagName = ['EM', 'I'];\n exports.default = Italic;\n /***/\n },\n /* 69 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _inline = __webpack_require__(6);\n\n var _inline2 = _interopRequireDefault(_inline);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Script = function (_Inline) {\n _inherits(Script, _Inline);\n\n function Script() {\n _classCallCheck(this, Script);\n\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\n\n _createClass(Script, null, [{\n key: 'create',\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n } else if (value === 'sub') {\n return document.createElement('sub');\n } else {\n return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n\n return Script;\n }(_inline2.default);\n\n Script.blotName = 'script';\n Script.tagName = ['SUB', 'SUP'];\n exports.default = Script;\n /***/\n },\n /* 70 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _inline = __webpack_require__(6);\n\n var _inline2 = _interopRequireDefault(_inline);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n\n function Strike() {\n _classCallCheck(this, Strike);\n\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n\n return Strike;\n }(_inline2.default);\n\n Strike.blotName = 'strike';\n Strike.tagName = 'S';\n exports.default = Strike;\n /***/\n },\n /* 71 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _inline = __webpack_require__(6);\n\n var _inline2 = _interopRequireDefault(_inline);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n\n function Underline() {\n _classCallCheck(this, Underline);\n\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n\n return Underline;\n }(_inline2.default);\n\n Underline.blotName = 'underline';\n Underline.tagName = 'U';\n exports.default = Underline;\n /***/\n },\n /* 72 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _link = __webpack_require__(27);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var ATTRIBUTES = ['alt', 'height', 'width'];\n\n var Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n\n function Image() {\n _classCallCheck(this, Image);\n\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\n\n _createClass(Image, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n\n return formats;\n }, {});\n }\n }, {\n key: 'match',\n value: function match(url) {\n return /\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url);\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Image;\n }(_parchment2.default.Embed);\n\n Image.blotName = 'image';\n Image.tagName = 'IMG';\n exports.default = Image;\n /***/\n },\n /* 73 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _block = __webpack_require__(4);\n\n var _link = __webpack_require__(27);\n\n var _link2 = _interopRequireDefault(_link);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var ATTRIBUTES = ['height', 'width'];\n\n var Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n\n function Video() {\n _classCallCheck(this, Video);\n\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\n\n _createClass(Video, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n\n return formats;\n }, {});\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _link2.default.sanitize(url);\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Video;\n }(_block.BlockEmbed);\n\n Video.blotName = 'video';\n Video.className = 'ql-video';\n Video.tagName = 'IFRAME';\n exports.default = Video;\n /***/\n },\n /* 74 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.FormulaBlot = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _embed = __webpack_require__(35);\n\n var _embed2 = _interopRequireDefault(_embed);\n\n var _quill = __webpack_require__(5);\n\n var _quill2 = _interopRequireDefault(_quill);\n\n var _module = __webpack_require__(9);\n\n var _module2 = _interopRequireDefault(_module);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\n\n _createClass(FormulaBlot, null, [{\n key: 'create',\n value: function create(value) {\n var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n\n if (typeof value === 'string') {\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n\n return node;\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n\n return FormulaBlot;\n }(_embed2.default);\n\n FormulaBlot.blotName = 'formula';\n FormulaBlot.className = 'ql-formula';\n FormulaBlot.tagName = 'SPAN';\n\n var Formula = function (_Module) {\n _inherits(Formula, _Module);\n\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n\n function Formula() {\n _classCallCheck(this, Formula);\n\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n\n return _this2;\n }\n\n return Formula;\n }(_module2.default);\n\n exports.FormulaBlot = FormulaBlot;\n exports.default = Formula;\n /***/\n },\n /* 75 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _parchment = __webpack_require__(0);\n\n var _parchment2 = _interopRequireDefault(_parchment);\n\n var _quill = __webpack_require__(5);\n\n var _quill2 = _interopRequireDefault(_quill);\n\n var _module = __webpack_require__(9);\n\n var _module2 = _interopRequireDefault(_module);\n\n var _code = __webpack_require__(13);\n\n var _code2 = _interopRequireDefault(_code);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\n\n _createClass(SyntaxCodeBlock, [{\n key: 'replaceWith',\n value: function replaceWith(block) {\n this.domNode.textContent = this.domNode.textContent;\n this.attach();\n\n _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n }\n }, {\n key: 'highlight',\n value: function highlight(_highlight) {\n var text = this.domNode.textContent;\n\n if (this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n this.domNode.innerHTML = _highlight(text);\n this.domNode.normalize();\n this.attach();\n }\n\n this.cachedText = text;\n }\n }\n }]);\n\n return SyntaxCodeBlock;\n }(_code2.default);\n\n SyntaxCodeBlock.className = 'ql-syntax';\n var CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n });\n\n var Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n\n _createClass(Syntax, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(CodeToken, true);\n\n _quill2.default.register(SyntaxCodeBlock, true);\n }\n }]);\n\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n if (typeof _this2.options.highlight !== 'function') {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n\n var timer = null;\n\n _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this2.highlight();\n\n timer = null;\n }, _this2.options.interval);\n });\n\n _this2.highlight();\n\n return _this2;\n }\n\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n\n if (this.quill.selection.composing) return;\n this.quill.update(_quill2.default.sources.USER);\n var range = this.quill.getSelection();\n this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n code.highlight(_this3.options.highlight);\n });\n this.quill.update(_quill2.default.sources.SILENT);\n\n if (range != null) {\n this.quill.setSelection(range, _quill2.default.sources.SILENT);\n }\n }\n }]);\n\n return Syntax;\n }(_module2.default);\n\n Syntax.DEFAULTS = {\n highlight: function () {\n if (window.hljs == null) return null;\n return function (text) {\n var result = window.hljs.highlightAuto(text);\n return result.value;\n };\n }(),\n interval: 1000\n };\n exports.CodeBlock = SyntaxCodeBlock;\n exports.CodeToken = CodeToken;\n exports.default = Syntax;\n /***/\n },\n /* 76 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 77 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 78 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 79 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 80 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 81 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 82 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 83 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 84 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 85 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 86 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 87 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 88 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 89 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 90 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 91 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 92 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 93 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 94 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 95 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 96 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 97 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 98 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 99 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 100 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 101 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 102 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 103 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 104 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 105 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 106 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 107 */\n\n /***/\n function (module, exports) {\n module.exports = \" \";\n /***/\n },\n /* 108 */\n\n /***/\n function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.BubbleTooltip = undefined;\n\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _extend = __webpack_require__(3);\n\n var _extend2 = _interopRequireDefault(_extend);\n\n var _emitter = __webpack_require__(8);\n\n var _emitter2 = _interopRequireDefault(_emitter);\n\n var _base = __webpack_require__(43);\n\n var _base2 = _interopRequireDefault(_base);\n\n var _selection = __webpack_require__(15);\n\n var _icons = __webpack_require__(41);\n\n var _icons2 = _interopRequireDefault(_icons);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof2(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof2(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{\n header: 1\n }, {\n header: 2\n }, 'blockquote']];\n\n var BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-bubble');\n\n return _this;\n }\n\n _createClass(BubbleTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n }\n }]);\n\n return BubbleTheme;\n }(_base2.default);\n\n BubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (!value) {\n this.quill.format('link', false);\n } else {\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n });\n\n var BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n\n if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n _this2.show(); // Lock our width so we will expand beyond our offsetParent boundaries\n\n\n _this2.root.style.left = '0px';\n _this2.root.style.width = '';\n _this2.root.style.width = _this2.root.offsetWidth + 'px';\n\n var lines = _this2.quill.getLines(range.index, range.length);\n\n if (lines.length === 1) {\n _this2.position(_this2.quill.getBounds(range));\n } else {\n var lastLine = lines[lines.length - 1];\n\n var index = _this2.quill.getIndex(lastLine);\n\n var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n\n var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n\n _this2.position(_bounds);\n }\n } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n _this2.hide();\n }\n });\n\n return _this2;\n }\n\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n\n this.root.querySelector('.ql-close').addEventListener('click', function () {\n _this3.root.classList.remove('ql-editing');\n });\n this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(function () {\n if (_this3.root.classList.contains('ql-hidden')) return;\n\n var range = _this3.quill.getSelection();\n\n if (range != null) {\n _this3.position(_this3.quill.getBounds(range));\n }\n }, 1);\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.show();\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n\n var arrow = this.root.querySelector('.ql-tooltip-arrow');\n arrow.style.marginLeft = '';\n if (shift === 0) return shift;\n arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n }\n }]);\n\n return BubbleTooltip;\n }(_base.BaseTooltip);\n\n BubbleTooltip.TEMPLATE = ['', '
', '', '', '
'].join('');\n exports.BubbleTooltip = BubbleTooltip;\n exports.default = BubbleTheme;\n /***/\n },\n /* 109 */\n\n /***/\n function (module, exports, __webpack_require__) {\n module.exports = __webpack_require__(63);\n /***/\n }\n /******/\n ])[\"default\"]\n );\n});","import '../src/javascripts/application';\nimport 'bootstrap-daterangepicker/daterangepicker';\nimport 'chosen-js/chosen.jquery';\nimport 'select2';\nimport '../src/javascripts/admin/quill_editor';\nimport '../src/javascripts/admin/report_charts_and_date_range';\nimport '../src/javascripts/admin/ss_report';\nimport '../src/javascripts/admin/float_label';\nimport '../src/javascripts/admin/navbar_and_rg_session_form';\nimport '../src/javascripts/admin/rg_analyses';\nimport '../src/stylesheets/admin.scss';\n\n// Chosen setup\n$(() => $('.chosen-select').chosen({\n allow_single_deselect: true,\n no_results_text: 'No results matched',\n width: '200px'\n}));\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\r\n* @version: 3.1\r\n* @author: Dan Grossman http://www.dangrossman.info/\r\n* @copyright: Copyright (c) 2012-2019 Dan Grossman. All rights reserved.\r\n* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php\r\n* @website: http://www.daterangepicker.com/\r\n*/\n// Following the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Make globaly available as well\n define(['moment', 'jquery'], function (moment, jquery) {\n if (!jquery.fn) jquery.fn = {}; // webpack server rendering\n\n if (typeof moment !== 'function' && moment.hasOwnProperty('default')) moment = moment['default'];\n return factory(moment, jquery);\n });\n } else if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === 'object' && module.exports) {\n // Node / Browserify\n //isomorphic issue\n var jQuery = typeof window != 'undefined' ? window.jQuery : undefined;\n\n if (!jQuery) {\n jQuery = require('jquery');\n if (!jQuery.fn) jQuery.fn = {};\n }\n\n var moment = typeof window != 'undefined' && typeof window.moment != 'undefined' ? window.moment : require('moment');\n module.exports = factory(moment, jQuery);\n } else {\n // Browser globals\n root.daterangepicker = factory(root.moment, root.jQuery);\n }\n})(this, function (moment, $) {\n var DateRangePicker = function DateRangePicker(element, options, cb) {\n //default settings for options\n this.parentEl = 'body';\n this.element = $(element);\n this.startDate = moment().startOf('day');\n this.endDate = moment().endOf('day');\n this.minDate = false;\n this.maxDate = false;\n this.maxSpan = false;\n this.autoApply = false;\n this.singleDatePicker = false;\n this.showDropdowns = false;\n this.minYear = moment().subtract(100, 'year').format('YYYY');\n this.maxYear = moment().add(100, 'year').format('YYYY');\n this.showWeekNumbers = false;\n this.showISOWeekNumbers = false;\n this.showCustomRangeLabel = true;\n this.timePicker = false;\n this.timePicker24Hour = false;\n this.timePickerIncrement = 1;\n this.timePickerSeconds = false;\n this.linkedCalendars = true;\n this.autoUpdateInput = true;\n this.alwaysShowCalendars = false;\n this.ranges = {};\n this.opens = 'right';\n if (this.element.hasClass('pull-right')) this.opens = 'left';\n this.drops = 'down';\n if (this.element.hasClass('dropup')) this.drops = 'up';\n this.buttonClasses = 'btn btn-sm';\n this.applyButtonClasses = 'btn-primary';\n this.cancelButtonClasses = 'btn-default';\n this.locale = {\n direction: 'ltr',\n format: moment.localeData().longDateFormat('L'),\n separator: ' - ',\n applyLabel: 'Apply',\n cancelLabel: 'Cancel',\n weekLabel: 'W',\n customRangeLabel: 'Custom Range',\n daysOfWeek: moment.weekdaysMin(),\n monthNames: moment.monthsShort(),\n firstDay: moment.localeData().firstDayOfWeek()\n };\n\n this.callback = function () {}; //some state information\n\n\n this.isShowing = false;\n this.leftCalendar = {};\n this.rightCalendar = {}; //custom options from user\n\n if (_typeof(options) !== 'object' || options === null) options = {}; //allow setting options with data attributes\n //data-api options will be overwritten with custom javascript options\n\n options = $.extend(this.element.data(), options); //html template for the picker UI\n\n if (typeof options.template !== 'string' && !(options.template instanceof $)) options.template = '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + ' ' + '
' + '
';\n this.parentEl = options.parentEl && $(options.parentEl).length ? $(options.parentEl) : $(this.parentEl);\n this.container = $(options.template).appendTo(this.parentEl); //\n // handle all the possible options overriding defaults\n //\n\n if (_typeof(options.locale) === 'object') {\n if (typeof options.locale.direction === 'string') this.locale.direction = options.locale.direction;\n if (typeof options.locale.format === 'string') this.locale.format = options.locale.format;\n if (typeof options.locale.separator === 'string') this.locale.separator = options.locale.separator;\n if (_typeof(options.locale.daysOfWeek) === 'object') this.locale.daysOfWeek = options.locale.daysOfWeek.slice();\n if (_typeof(options.locale.monthNames) === 'object') this.locale.monthNames = options.locale.monthNames.slice();\n if (typeof options.locale.firstDay === 'number') this.locale.firstDay = options.locale.firstDay;\n if (typeof options.locale.applyLabel === 'string') this.locale.applyLabel = options.locale.applyLabel;\n if (typeof options.locale.cancelLabel === 'string') this.locale.cancelLabel = options.locale.cancelLabel;\n if (typeof options.locale.weekLabel === 'string') this.locale.weekLabel = options.locale.weekLabel;\n\n if (typeof options.locale.customRangeLabel === 'string') {\n //Support unicode chars in the custom range name.\n var elem = document.createElement('textarea');\n elem.innerHTML = options.locale.customRangeLabel;\n var rangeHtml = elem.value;\n this.locale.customRangeLabel = rangeHtml;\n }\n }\n\n this.container.addClass(this.locale.direction);\n if (typeof options.startDate === 'string') this.startDate = moment(options.startDate, this.locale.format);\n if (typeof options.endDate === 'string') this.endDate = moment(options.endDate, this.locale.format);\n if (typeof options.minDate === 'string') this.minDate = moment(options.minDate, this.locale.format);\n if (typeof options.maxDate === 'string') this.maxDate = moment(options.maxDate, this.locale.format);\n if (_typeof(options.startDate) === 'object') this.startDate = moment(options.startDate);\n if (_typeof(options.endDate) === 'object') this.endDate = moment(options.endDate);\n if (_typeof(options.minDate) === 'object') this.minDate = moment(options.minDate);\n if (_typeof(options.maxDate) === 'object') this.maxDate = moment(options.maxDate); // sanity check for bad options\n\n if (this.minDate && this.startDate.isBefore(this.minDate)) this.startDate = this.minDate.clone(); // sanity check for bad options\n\n if (this.maxDate && this.endDate.isAfter(this.maxDate)) this.endDate = this.maxDate.clone();\n if (typeof options.applyButtonClasses === 'string') this.applyButtonClasses = options.applyButtonClasses;\n if (typeof options.applyClass === 'string') //backwards compat\n this.applyButtonClasses = options.applyClass;\n if (typeof options.cancelButtonClasses === 'string') this.cancelButtonClasses = options.cancelButtonClasses;\n if (typeof options.cancelClass === 'string') //backwards compat\n this.cancelButtonClasses = options.cancelClass;\n if (_typeof(options.maxSpan) === 'object') this.maxSpan = options.maxSpan;\n if (_typeof(options.dateLimit) === 'object') //backwards compat\n this.maxSpan = options.dateLimit;\n if (typeof options.opens === 'string') this.opens = options.opens;\n if (typeof options.drops === 'string') this.drops = options.drops;\n if (typeof options.showWeekNumbers === 'boolean') this.showWeekNumbers = options.showWeekNumbers;\n if (typeof options.showISOWeekNumbers === 'boolean') this.showISOWeekNumbers = options.showISOWeekNumbers;\n if (typeof options.buttonClasses === 'string') this.buttonClasses = options.buttonClasses;\n if (_typeof(options.buttonClasses) === 'object') this.buttonClasses = options.buttonClasses.join(' ');\n if (typeof options.showDropdowns === 'boolean') this.showDropdowns = options.showDropdowns;\n if (typeof options.minYear === 'number') this.minYear = options.minYear;\n if (typeof options.maxYear === 'number') this.maxYear = options.maxYear;\n if (typeof options.showCustomRangeLabel === 'boolean') this.showCustomRangeLabel = options.showCustomRangeLabel;\n\n if (typeof options.singleDatePicker === 'boolean') {\n this.singleDatePicker = options.singleDatePicker;\n if (this.singleDatePicker) this.endDate = this.startDate.clone();\n }\n\n if (typeof options.timePicker === 'boolean') this.timePicker = options.timePicker;\n if (typeof options.timePickerSeconds === 'boolean') this.timePickerSeconds = options.timePickerSeconds;\n if (typeof options.timePickerIncrement === 'number') this.timePickerIncrement = options.timePickerIncrement;\n if (typeof options.timePicker24Hour === 'boolean') this.timePicker24Hour = options.timePicker24Hour;\n if (typeof options.autoApply === 'boolean') this.autoApply = options.autoApply;\n if (typeof options.autoUpdateInput === 'boolean') this.autoUpdateInput = options.autoUpdateInput;\n if (typeof options.linkedCalendars === 'boolean') this.linkedCalendars = options.linkedCalendars;\n if (typeof options.isInvalidDate === 'function') this.isInvalidDate = options.isInvalidDate;\n if (typeof options.isCustomDate === 'function') this.isCustomDate = options.isCustomDate;\n if (typeof options.alwaysShowCalendars === 'boolean') this.alwaysShowCalendars = options.alwaysShowCalendars; // update day names order to firstDay\n\n if (this.locale.firstDay != 0) {\n var iterator = this.locale.firstDay;\n\n while (iterator > 0) {\n this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift());\n iterator--;\n }\n }\n\n var start, end, range; //if no start/end dates set, check if an input element contains initial values\n\n if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') {\n if ($(this.element).is(':text')) {\n var val = $(this.element).val(),\n split = val.split(this.locale.separator);\n start = end = null;\n\n if (split.length == 2) {\n start = moment(split[0], this.locale.format);\n end = moment(split[1], this.locale.format);\n } else if (this.singleDatePicker && val !== \"\") {\n start = moment(val, this.locale.format);\n end = moment(val, this.locale.format);\n }\n\n if (start !== null && end !== null) {\n this.setStartDate(start);\n this.setEndDate(end);\n }\n }\n }\n\n if (_typeof(options.ranges) === 'object') {\n for (range in options.ranges) {\n if (typeof options.ranges[range][0] === 'string') start = moment(options.ranges[range][0], this.locale.format);else start = moment(options.ranges[range][0]);\n if (typeof options.ranges[range][1] === 'string') end = moment(options.ranges[range][1], this.locale.format);else end = moment(options.ranges[range][1]); // If the start or end date exceed those allowed by the minDate or maxSpan\n // options, shorten the range to the allowable period.\n\n if (this.minDate && start.isBefore(this.minDate)) start = this.minDate.clone();\n var maxDate = this.maxDate;\n if (this.maxSpan && maxDate && start.clone().add(this.maxSpan).isAfter(maxDate)) maxDate = start.clone().add(this.maxSpan);\n if (maxDate && end.isAfter(maxDate)) end = maxDate.clone(); // If the end of the range is before the minimum or the start of the range is\n // after the maximum, don't display this range option at all.\n\n if (this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day') || maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day')) continue; //Support unicode chars in the range names.\n\n var elem = document.createElement('textarea');\n elem.innerHTML = range;\n var rangeHtml = elem.value;\n this.ranges[rangeHtml] = [start, end];\n }\n\n var list = '
    ';\n\n for (range in this.ranges) {\n list += '
  • ' + range + '
  • ';\n }\n\n if (this.showCustomRangeLabel) {\n list += '
  • ' + this.locale.customRangeLabel + '
  • ';\n }\n\n list += '
';\n this.container.find('.ranges').prepend(list);\n }\n\n if (typeof cb === 'function') {\n this.callback = cb;\n }\n\n if (!this.timePicker) {\n this.startDate = this.startDate.startOf('day');\n this.endDate = this.endDate.endOf('day');\n this.container.find('.calendar-time').hide();\n } //can't be used together for now\n\n\n if (this.timePicker && this.autoApply) this.autoApply = false;\n\n if (this.autoApply) {\n this.container.addClass('auto-apply');\n }\n\n if (_typeof(options.ranges) === 'object') this.container.addClass('show-ranges');\n\n if (this.singleDatePicker) {\n this.container.addClass('single');\n this.container.find('.drp-calendar.left').addClass('single');\n this.container.find('.drp-calendar.left').show();\n this.container.find('.drp-calendar.right').hide();\n\n if (!this.timePicker && this.autoApply) {\n this.container.addClass('auto-apply');\n }\n }\n\n if (typeof options.ranges === 'undefined' && !this.singleDatePicker || this.alwaysShowCalendars) {\n this.container.addClass('show-calendar');\n }\n\n this.container.addClass('opens' + this.opens); //apply CSS classes and labels to buttons\n\n this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses);\n if (this.applyButtonClasses.length) this.container.find('.applyBtn').addClass(this.applyButtonClasses);\n if (this.cancelButtonClasses.length) this.container.find('.cancelBtn').addClass(this.cancelButtonClasses);\n this.container.find('.applyBtn').html(this.locale.applyLabel);\n this.container.find('.cancelBtn').html(this.locale.cancelLabel); //\n // event listeners\n //\n\n this.container.find('.drp-calendar').on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this)).on('click.daterangepicker', '.next', $.proxy(this.clickNext, this)).on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this)).on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this)).on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this)).on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this)).on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this));\n this.container.find('.ranges').on('click.daterangepicker', 'li', $.proxy(this.clickRange, this));\n this.container.find('.drp-buttons').on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this)).on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this));\n\n if (this.element.is('input') || this.element.is('button')) {\n this.element.on({\n 'click.daterangepicker': $.proxy(this.show, this),\n 'focus.daterangepicker': $.proxy(this.show, this),\n 'keyup.daterangepicker': $.proxy(this.elementChanged, this),\n 'keydown.daterangepicker': $.proxy(this.keydown, this) //IE 11 compatibility\n\n });\n } else {\n this.element.on('click.daterangepicker', $.proxy(this.toggle, this));\n this.element.on('keydown.daterangepicker', $.proxy(this.toggle, this));\n } //\n // if attached to a text input, set the initial value\n //\n\n\n this.updateElement();\n };\n\n DateRangePicker.prototype = {\n constructor: DateRangePicker,\n setStartDate: function setStartDate(startDate) {\n if (typeof startDate === 'string') this.startDate = moment(startDate, this.locale.format);\n if (_typeof(startDate) === 'object') this.startDate = moment(startDate);\n if (!this.timePicker) this.startDate = this.startDate.startOf('day');\n if (this.timePicker && this.timePickerIncrement) this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\n\n if (this.minDate && this.startDate.isBefore(this.minDate)) {\n this.startDate = this.minDate.clone();\n if (this.timePicker && this.timePickerIncrement) this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\n }\n\n if (this.maxDate && this.startDate.isAfter(this.maxDate)) {\n this.startDate = this.maxDate.clone();\n if (this.timePicker && this.timePickerIncrement) this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\n }\n\n if (!this.isShowing) this.updateElement();\n this.updateMonthsInView();\n },\n setEndDate: function setEndDate(endDate) {\n if (typeof endDate === 'string') this.endDate = moment(endDate, this.locale.format);\n if (_typeof(endDate) === 'object') this.endDate = moment(endDate);\n if (!this.timePicker) this.endDate = this.endDate.endOf('day');\n if (this.timePicker && this.timePickerIncrement) this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\n if (this.endDate.isBefore(this.startDate)) this.endDate = this.startDate.clone();\n if (this.maxDate && this.endDate.isAfter(this.maxDate)) this.endDate = this.maxDate.clone();\n if (this.maxSpan && this.startDate.clone().add(this.maxSpan).isBefore(this.endDate)) this.endDate = this.startDate.clone().add(this.maxSpan);\n this.previousRightTime = this.endDate.clone();\n this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\n if (!this.isShowing) this.updateElement();\n this.updateMonthsInView();\n },\n isInvalidDate: function isInvalidDate() {\n return false;\n },\n isCustomDate: function isCustomDate() {\n return false;\n },\n updateView: function updateView() {\n if (this.timePicker) {\n this.renderTimePicker('left');\n this.renderTimePicker('right');\n\n if (!this.endDate) {\n this.container.find('.right .calendar-time select').prop('disabled', true).addClass('disabled');\n } else {\n this.container.find('.right .calendar-time select').prop('disabled', false).removeClass('disabled');\n }\n }\n\n if (this.endDate) this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\n this.updateMonthsInView();\n this.updateCalendars();\n this.updateFormInputs();\n },\n updateMonthsInView: function updateMonthsInView() {\n if (this.endDate) {\n //if both dates are visible already, do nothing\n if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month && (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) && (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))) {\n return;\n }\n\n this.leftCalendar.month = this.startDate.clone().date(2);\n\n if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) {\n this.rightCalendar.month = this.endDate.clone().date(2);\n } else {\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\n }\n } else {\n if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) {\n this.leftCalendar.month = this.startDate.clone().date(2);\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\n }\n }\n\n if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) {\n this.rightCalendar.month = this.maxDate.clone().date(2);\n this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month');\n }\n },\n updateCalendars: function updateCalendars() {\n if (this.timePicker) {\n var hour, minute, second;\n\n if (this.endDate) {\n hour = parseInt(this.container.find('.left .hourselect').val(), 10);\n minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\n\n if (isNaN(minute)) {\n minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10);\n }\n\n second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\n\n if (!this.timePicker24Hour) {\n var ampm = this.container.find('.left .ampmselect').val();\n if (ampm === 'PM' && hour < 12) hour += 12;\n if (ampm === 'AM' && hour === 12) hour = 0;\n }\n } else {\n hour = parseInt(this.container.find('.right .hourselect').val(), 10);\n minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\n\n if (isNaN(minute)) {\n minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10);\n }\n\n second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\n\n if (!this.timePicker24Hour) {\n var ampm = this.container.find('.right .ampmselect').val();\n if (ampm === 'PM' && hour < 12) hour += 12;\n if (ampm === 'AM' && hour === 12) hour = 0;\n }\n }\n\n this.leftCalendar.month.hour(hour).minute(minute).second(second);\n this.rightCalendar.month.hour(hour).minute(minute).second(second);\n }\n\n this.renderCalendar('left');\n this.renderCalendar('right'); //highlight any predefined range matching the current start and end dates\n\n this.container.find('.ranges li').removeClass('active');\n if (this.endDate == null) return;\n this.calculateChosenLabel();\n },\n renderCalendar: function renderCalendar(side) {\n //\n // Build the matrix of dates that will populate the calendar\n //\n var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar;\n var month = calendar.month.month();\n var year = calendar.month.year();\n var hour = calendar.month.hour();\n var minute = calendar.month.minute();\n var second = calendar.month.second();\n var daysInMonth = moment([year, month]).daysInMonth();\n var firstDay = moment([year, month, 1]);\n var lastDay = moment([year, month, daysInMonth]);\n var lastMonth = moment(firstDay).subtract(1, 'month').month();\n var lastYear = moment(firstDay).subtract(1, 'month').year();\n var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth();\n var dayOfWeek = firstDay.day(); //initialize a 6 rows x 7 columns array for the calendar\n\n var calendar = [];\n calendar.firstDay = firstDay;\n calendar.lastDay = lastDay;\n\n for (var i = 0; i < 6; i++) {\n calendar[i] = [];\n } //populate the calendar with date objects\n\n\n var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1;\n if (startDay > daysInLastMonth) startDay -= 7;\n if (dayOfWeek == this.locale.firstDay) startDay = daysInLastMonth - 6;\n var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]);\n var col, row;\n\n for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) {\n if (i > 0 && col % 7 === 0) {\n col = 0;\n row++;\n }\n\n calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second);\n curDate.hour(12);\n\n if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') {\n calendar[row][col] = this.minDate.clone();\n }\n\n if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') {\n calendar[row][col] = this.maxDate.clone();\n }\n } //make the calendar object available to hoverDate/clickDate\n\n\n if (side == 'left') {\n this.leftCalendar.calendar = calendar;\n } else {\n this.rightCalendar.calendar = calendar;\n } //\n // Display the calendar\n //\n\n\n var minDate = side == 'left' ? this.minDate : this.startDate;\n var maxDate = this.maxDate;\n var selected = side == 'left' ? this.startDate : this.endDate;\n var arrow = this.locale.direction == 'ltr' ? {\n left: 'chevron-left',\n right: 'chevron-right'\n } : {\n left: 'chevron-right',\n right: 'chevron-left'\n };\n var html = '';\n html += '';\n html += ''; // add empty cell for week number\n\n if (this.showWeekNumbers || this.showISOWeekNumbers) html += '';\n\n if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) {\n html += '';\n } else {\n html += '';\n }\n\n var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(\" YYYY\");\n\n if (this.showDropdowns) {\n var currentMonth = calendar[1][1].month();\n var currentYear = calendar[1][1].year();\n var maxYear = maxDate && maxDate.year() || this.maxYear;\n var minYear = minDate && minDate.year() || this.minYear;\n var inMinYear = currentYear == minYear;\n var inMaxYear = currentYear == maxYear;\n var monthHtml = '\";\n var yearHtml = '';\n dateHtml = monthHtml + yearHtml;\n }\n\n html += '';\n\n if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) {\n html += '';\n } else {\n html += '';\n }\n\n html += '';\n html += ''; // add week number label\n\n if (this.showWeekNumbers || this.showISOWeekNumbers) html += '';\n $.each(this.locale.daysOfWeek, function (index, dayOfWeek) {\n html += '';\n });\n html += '';\n html += '';\n html += ''; //adjust maxDate to reflect the maxSpan setting in order to\n //grey out end dates beyond the maxSpan\n\n if (this.endDate == null && this.maxSpan) {\n var maxLimit = this.startDate.clone().add(this.maxSpan).endOf('day');\n\n if (!maxDate || maxLimit.isBefore(maxDate)) {\n maxDate = maxLimit;\n }\n }\n\n for (var row = 0; row < 6; row++) {\n html += ''; // add week number\n\n if (this.showWeekNumbers) html += '';else if (this.showISOWeekNumbers) html += '';\n\n for (var col = 0; col < 7; col++) {\n var classes = []; //highlight today's date\n\n if (calendar[row][col].isSame(new Date(), \"day\")) classes.push('today'); //highlight weekends\n\n if (calendar[row][col].isoWeekday() > 5) classes.push('weekend'); //grey out the dates in other months displayed at beginning and end of this calendar\n\n if (calendar[row][col].month() != calendar[1][1].month()) classes.push('off', 'ends'); //don't allow selection of dates before the minimum date\n\n if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day')) classes.push('off', 'disabled'); //don't allow selection of dates after the maximum date\n\n if (maxDate && calendar[row][col].isAfter(maxDate, 'day')) classes.push('off', 'disabled'); //don't allow selection of date if a custom function decides it's invalid\n\n if (this.isInvalidDate(calendar[row][col])) classes.push('off', 'disabled'); //highlight the currently selected start date\n\n if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD')) classes.push('active', 'start-date'); //highlight the currently selected end date\n\n if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD')) classes.push('active', 'end-date'); //highlight dates in-between the selected dates\n\n if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate) classes.push('in-range'); //apply custom classes for this date\n\n var isCustom = this.isCustomDate(calendar[row][col]);\n\n if (isCustom !== false) {\n if (typeof isCustom === 'string') classes.push(isCustom);else Array.prototype.push.apply(classes, isCustom);\n }\n\n var cname = '',\n disabled = false;\n\n for (var i = 0; i < classes.length; i++) {\n cname += classes[i] + ' ';\n if (classes[i] == 'disabled') disabled = true;\n }\n\n if (!disabled) cname += 'available';\n html += '';\n }\n\n html += '';\n }\n\n html += '';\n html += '
' + dateHtml + '
' + this.locale.weekLabel + '' + dayOfWeek + '
' + calendar[row][0].week() + '' + calendar[row][0].isoWeek() + '' + calendar[row][col].date() + '
';\n this.container.find('.drp-calendar.' + side + ' .calendar-table').html(html);\n },\n renderTimePicker: function renderTimePicker(side) {\n // Don't bother updating the time picker if it's currently disabled\n // because an end date hasn't been clicked yet\n if (side == 'right' && !this.endDate) return;\n var html,\n selected,\n minDate,\n maxDate = this.maxDate;\n if (this.maxSpan && (!this.maxDate || this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate))) maxDate = this.startDate.clone().add(this.maxSpan);\n\n if (side == 'left') {\n selected = this.startDate.clone();\n minDate = this.minDate;\n } else if (side == 'right') {\n selected = this.endDate.clone();\n minDate = this.startDate; //Preserve the time already selected\n\n var timeSelector = this.container.find('.drp-calendar.right .calendar-time');\n\n if (timeSelector.html() != '') {\n selected.hour(!isNaN(selected.hour()) ? selected.hour() : timeSelector.find('.hourselect option:selected').val());\n selected.minute(!isNaN(selected.minute()) ? selected.minute() : timeSelector.find('.minuteselect option:selected').val());\n selected.second(!isNaN(selected.second()) ? selected.second() : timeSelector.find('.secondselect option:selected').val());\n\n if (!this.timePicker24Hour) {\n var ampm = timeSelector.find('.ampmselect option:selected').val();\n if (ampm === 'PM' && selected.hour() < 12) selected.hour(selected.hour() + 12);\n if (ampm === 'AM' && selected.hour() === 12) selected.hour(0);\n }\n }\n\n if (selected.isBefore(this.startDate)) selected = this.startDate.clone();\n if (maxDate && selected.isAfter(maxDate)) selected = maxDate.clone();\n } //\n // hours\n //\n\n\n html = ' '; //\n // minutes\n //\n\n html += ': '; //\n // seconds\n //\n\n if (this.timePickerSeconds) {\n html += ': ';\n } //\n // AM/PM\n //\n\n\n if (!this.timePicker24Hour) {\n html += '';\n }\n\n this.container.find('.drp-calendar.' + side + ' .calendar-time').html(html);\n },\n updateFormInputs: function updateFormInputs() {\n if (this.singleDatePicker || this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate))) {\n this.container.find('button.applyBtn').prop('disabled', false);\n } else {\n this.container.find('button.applyBtn').prop('disabled', true);\n }\n },\n move: function move() {\n var parentOffset = {\n top: 0,\n left: 0\n },\n containerTop,\n drops = this.drops;\n var parentRightEdge = $(window).width();\n\n if (!this.parentEl.is('body')) {\n parentOffset = {\n top: this.parentEl.offset().top - this.parentEl.scrollTop(),\n left: this.parentEl.offset().left - this.parentEl.scrollLeft()\n };\n parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left;\n }\n\n switch (drops) {\n case 'auto':\n containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;\n\n if (containerTop + this.container.outerHeight() >= this.parentEl[0].scrollHeight) {\n containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;\n drops = 'up';\n }\n\n break;\n\n case 'up':\n containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;\n break;\n\n default:\n containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;\n break;\n } // Force the container to it's actual width\n\n\n this.container.css({\n top: 0,\n left: 0,\n right: 'auto'\n });\n var containerWidth = this.container.outerWidth();\n this.container.toggleClass('drop-up', drops == 'up');\n\n if (this.opens == 'left') {\n var containerRight = parentRightEdge - this.element.offset().left - this.element.outerWidth();\n\n if (containerWidth + containerRight > $(window).width()) {\n this.container.css({\n top: containerTop,\n right: 'auto',\n left: 9\n });\n } else {\n this.container.css({\n top: containerTop,\n right: containerRight,\n left: 'auto'\n });\n }\n } else if (this.opens == 'center') {\n var containerLeft = this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2 - containerWidth / 2;\n\n if (containerLeft < 0) {\n this.container.css({\n top: containerTop,\n right: 'auto',\n left: 9\n });\n } else if (containerLeft + containerWidth > $(window).width()) {\n this.container.css({\n top: containerTop,\n left: 'auto',\n right: 0\n });\n } else {\n this.container.css({\n top: containerTop,\n left: containerLeft,\n right: 'auto'\n });\n }\n } else {\n var containerLeft = this.element.offset().left - parentOffset.left;\n\n if (containerLeft + containerWidth > $(window).width()) {\n this.container.css({\n top: containerTop,\n left: 'auto',\n right: 0\n });\n } else {\n this.container.css({\n top: containerTop,\n left: containerLeft,\n right: 'auto'\n });\n }\n }\n },\n show: function show(e) {\n if (this.isShowing) return; // Create a click proxy that is private to this instance of datepicker, for unbinding\n\n this._outsideClickProxy = $.proxy(function (e) {\n this.outsideClick(e);\n }, this); // Bind global datepicker mousedown for hiding and\n\n $(document).on('mousedown.daterangepicker', this._outsideClickProxy) // also support mobile devices\n .on('touchend.daterangepicker', this._outsideClickProxy) // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them\n .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy) // and also close when focus changes to outside the picker (eg. tabbing between controls)\n .on('focusin.daterangepicker', this._outsideClickProxy); // Reposition the picker if the window is resized while it's open\n\n $(window).on('resize.daterangepicker', $.proxy(function (e) {\n this.move(e);\n }, this));\n this.oldStartDate = this.startDate.clone();\n this.oldEndDate = this.endDate.clone();\n this.previousRightTime = this.endDate.clone();\n this.updateView();\n this.container.show();\n this.move();\n this.element.trigger('show.daterangepicker', this);\n this.isShowing = true;\n },\n hide: function hide(e) {\n if (!this.isShowing) return; //incomplete date selection, revert to last values\n\n if (!this.endDate) {\n this.startDate = this.oldStartDate.clone();\n this.endDate = this.oldEndDate.clone();\n } //if a new date range was selected, invoke the user callback function\n\n\n if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate)) this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel); //if picker is attached to a text input, update it\n\n this.updateElement();\n $(document).off('.daterangepicker');\n $(window).off('.daterangepicker');\n this.container.hide();\n this.element.trigger('hide.daterangepicker', this);\n this.isShowing = false;\n },\n toggle: function toggle(e) {\n if (this.isShowing) {\n this.hide();\n } else {\n this.show();\n }\n },\n outsideClick: function outsideClick(e) {\n var target = $(e.target); // if the page is clicked anywhere except within the daterangerpicker/button\n // itself then call this.hide()\n\n if ( // ie modal dialog fix\n e.type == \"focusin\" || target.closest(this.element).length || target.closest(this.container).length || target.closest('.calendar-table').length) return;\n this.hide();\n this.element.trigger('outsideClick.daterangepicker', this);\n },\n showCalendars: function showCalendars() {\n this.container.addClass('show-calendar');\n this.move();\n this.element.trigger('showCalendar.daterangepicker', this);\n },\n hideCalendars: function hideCalendars() {\n this.container.removeClass('show-calendar');\n this.element.trigger('hideCalendar.daterangepicker', this);\n },\n clickRange: function clickRange(e) {\n var label = e.target.getAttribute('data-range-key');\n this.chosenLabel = label;\n\n if (label == this.locale.customRangeLabel) {\n this.showCalendars();\n } else {\n var dates = this.ranges[label];\n this.startDate = dates[0];\n this.endDate = dates[1];\n\n if (!this.timePicker) {\n this.startDate.startOf('day');\n this.endDate.endOf('day');\n }\n\n if (!this.alwaysShowCalendars) this.hideCalendars();\n this.clickApply();\n }\n },\n clickPrev: function clickPrev(e) {\n var cal = $(e.target).parents('.drp-calendar');\n\n if (cal.hasClass('left')) {\n this.leftCalendar.month.subtract(1, 'month');\n if (this.linkedCalendars) this.rightCalendar.month.subtract(1, 'month');\n } else {\n this.rightCalendar.month.subtract(1, 'month');\n }\n\n this.updateCalendars();\n },\n clickNext: function clickNext(e) {\n var cal = $(e.target).parents('.drp-calendar');\n\n if (cal.hasClass('left')) {\n this.leftCalendar.month.add(1, 'month');\n } else {\n this.rightCalendar.month.add(1, 'month');\n if (this.linkedCalendars) this.leftCalendar.month.add(1, 'month');\n }\n\n this.updateCalendars();\n },\n hoverDate: function hoverDate(e) {\n //ignore dates that can't be selected\n if (!$(e.target).hasClass('available')) return;\n var title = $(e.target).attr('data-title');\n var row = title.substr(1, 1);\n var col = title.substr(3, 1);\n var cal = $(e.target).parents('.drp-calendar');\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; //highlight the dates between the start date and the date being hovered as a potential end date\n\n var leftCalendar = this.leftCalendar;\n var rightCalendar = this.rightCalendar;\n var startDate = this.startDate;\n\n if (!this.endDate) {\n this.container.find('.drp-calendar tbody td').each(function (index, el) {\n //skip week numbers, only look at dates\n if ($(el).hasClass('week')) return;\n var title = $(el).attr('data-title');\n var row = title.substr(1, 1);\n var col = title.substr(3, 1);\n var cal = $(el).parents('.drp-calendar');\n var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col];\n\n if (dt.isAfter(startDate) && dt.isBefore(date) || dt.isSame(date, 'day')) {\n $(el).addClass('in-range');\n } else {\n $(el).removeClass('in-range');\n }\n });\n }\n },\n clickDate: function clickDate(e) {\n if (!$(e.target).hasClass('available')) return;\n var title = $(e.target).attr('data-title');\n var row = title.substr(1, 1);\n var col = title.substr(3, 1);\n var cal = $(e.target).parents('.drp-calendar');\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; //\n // this function needs to do a few things:\n // * alternate between selecting a start and end date for the range,\n // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date\n // * if autoapply is enabled, and an end date was chosen, apply the selection\n // * if single date picker mode, and time picker isn't enabled, apply the selection immediately\n // * if one of the inputs above the calendars was focused, cancel that manual input\n //\n\n if (this.endDate || date.isBefore(this.startDate, 'day')) {\n //picking start\n if (this.timePicker) {\n var hour = parseInt(this.container.find('.left .hourselect').val(), 10);\n\n if (!this.timePicker24Hour) {\n var ampm = this.container.find('.left .ampmselect').val();\n if (ampm === 'PM' && hour < 12) hour += 12;\n if (ampm === 'AM' && hour === 12) hour = 0;\n }\n\n var minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\n\n if (isNaN(minute)) {\n minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10);\n }\n\n var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\n date = date.clone().hour(hour).minute(minute).second(second);\n }\n\n this.endDate = null;\n this.setStartDate(date.clone());\n } else if (!this.endDate && date.isBefore(this.startDate)) {\n //special case: clicking the same date for start/end,\n //but the time of the end date is before the start date\n this.setEndDate(this.startDate.clone());\n } else {\n // picking end\n if (this.timePicker) {\n var hour = parseInt(this.container.find('.right .hourselect').val(), 10);\n\n if (!this.timePicker24Hour) {\n var ampm = this.container.find('.right .ampmselect').val();\n if (ampm === 'PM' && hour < 12) hour += 12;\n if (ampm === 'AM' && hour === 12) hour = 0;\n }\n\n var minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\n\n if (isNaN(minute)) {\n minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10);\n }\n\n var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\n date = date.clone().hour(hour).minute(minute).second(second);\n }\n\n this.setEndDate(date.clone());\n\n if (this.autoApply) {\n this.calculateChosenLabel();\n this.clickApply();\n }\n }\n\n if (this.singleDatePicker) {\n this.setEndDate(this.startDate);\n if (!this.timePicker && this.autoApply) this.clickApply();\n }\n\n this.updateView(); //This is to cancel the blur event handler if the mouse was in one of the inputs\n\n e.stopPropagation();\n },\n calculateChosenLabel: function calculateChosenLabel() {\n var customRange = true;\n var i = 0;\n\n for (var range in this.ranges) {\n if (this.timePicker) {\n var format = this.timePickerSeconds ? \"YYYY-MM-DD HH:mm:ss\" : \"YYYY-MM-DD HH:mm\"; //ignore times when comparing dates if time picker seconds is not enabled\n\n if (this.startDate.format(format) == this.ranges[range][0].format(format) && this.endDate.format(format) == this.ranges[range][1].format(format)) {\n customRange = false;\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');\n break;\n }\n } else {\n //ignore times when comparing dates if time picker is not enabled\n if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) {\n customRange = false;\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');\n break;\n }\n }\n\n i++;\n }\n\n if (customRange) {\n if (this.showCustomRangeLabel) {\n this.chosenLabel = this.container.find('.ranges li:last').addClass('active').attr('data-range-key');\n } else {\n this.chosenLabel = null;\n }\n\n this.showCalendars();\n }\n },\n clickApply: function clickApply(e) {\n this.hide();\n this.element.trigger('apply.daterangepicker', this);\n },\n clickCancel: function clickCancel(e) {\n this.startDate = this.oldStartDate;\n this.endDate = this.oldEndDate;\n this.hide();\n this.element.trigger('cancel.daterangepicker', this);\n },\n monthOrYearChanged: function monthOrYearChanged(e) {\n var isLeft = $(e.target).closest('.drp-calendar').hasClass('left'),\n leftOrRight = isLeft ? 'left' : 'right',\n cal = this.container.find('.drp-calendar.' + leftOrRight); // Month must be Number for new moment versions\n\n var month = parseInt(cal.find('.monthselect').val(), 10);\n var year = cal.find('.yearselect').val();\n\n if (!isLeft) {\n if (year < this.startDate.year() || year == this.startDate.year() && month < this.startDate.month()) {\n month = this.startDate.month();\n year = this.startDate.year();\n }\n }\n\n if (this.minDate) {\n if (year < this.minDate.year() || year == this.minDate.year() && month < this.minDate.month()) {\n month = this.minDate.month();\n year = this.minDate.year();\n }\n }\n\n if (this.maxDate) {\n if (year > this.maxDate.year() || year == this.maxDate.year() && month > this.maxDate.month()) {\n month = this.maxDate.month();\n year = this.maxDate.year();\n }\n }\n\n if (isLeft) {\n this.leftCalendar.month.month(month).year(year);\n if (this.linkedCalendars) this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month');\n } else {\n this.rightCalendar.month.month(month).year(year);\n if (this.linkedCalendars) this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month');\n }\n\n this.updateCalendars();\n },\n timeChanged: function timeChanged(e) {\n var cal = $(e.target).closest('.drp-calendar'),\n isLeft = cal.hasClass('left');\n var hour = parseInt(cal.find('.hourselect').val(), 10);\n var minute = parseInt(cal.find('.minuteselect').val(), 10);\n\n if (isNaN(minute)) {\n minute = parseInt(cal.find('.minuteselect option:last').val(), 10);\n }\n\n var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0;\n\n if (!this.timePicker24Hour) {\n var ampm = cal.find('.ampmselect').val();\n if (ampm === 'PM' && hour < 12) hour += 12;\n if (ampm === 'AM' && hour === 12) hour = 0;\n }\n\n if (isLeft) {\n var start = this.startDate.clone();\n start.hour(hour);\n start.minute(minute);\n start.second(second);\n this.setStartDate(start);\n\n if (this.singleDatePicker) {\n this.endDate = this.startDate.clone();\n } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) {\n this.setEndDate(start.clone());\n }\n } else if (this.endDate) {\n var end = this.endDate.clone();\n end.hour(hour);\n end.minute(minute);\n end.second(second);\n this.setEndDate(end);\n } //update the calendars so all clickable dates reflect the new time component\n\n\n this.updateCalendars(); //update the form inputs above the calendars with the new time\n\n this.updateFormInputs(); //re-render the time pickers because changing one selection can affect what's enabled in another\n\n this.renderTimePicker('left');\n this.renderTimePicker('right');\n },\n elementChanged: function elementChanged() {\n if (!this.element.is('input')) return;\n if (!this.element.val().length) return;\n var dateString = this.element.val().split(this.locale.separator),\n start = null,\n end = null;\n\n if (dateString.length === 2) {\n start = moment(dateString[0], this.locale.format);\n end = moment(dateString[1], this.locale.format);\n }\n\n if (this.singleDatePicker || start === null || end === null) {\n start = moment(this.element.val(), this.locale.format);\n end = start;\n }\n\n if (!start.isValid() || !end.isValid()) return;\n this.setStartDate(start);\n this.setEndDate(end);\n this.updateView();\n },\n keydown: function keydown(e) {\n //hide on tab or enter\n if (e.keyCode === 9 || e.keyCode === 13) {\n this.hide();\n } //hide on esc and prevent propagation\n\n\n if (e.keyCode === 27) {\n e.preventDefault();\n e.stopPropagation();\n this.hide();\n }\n },\n updateElement: function updateElement() {\n if (this.element.is('input') && this.autoUpdateInput) {\n var newValue = this.startDate.format(this.locale.format);\n\n if (!this.singleDatePicker) {\n newValue += this.locale.separator + this.endDate.format(this.locale.format);\n }\n\n if (newValue !== this.element.val()) {\n this.element.val(newValue).trigger('change');\n }\n }\n },\n remove: function remove() {\n this.container.remove();\n this.element.off('.daterangepicker');\n this.element.removeData();\n }\n };\n\n $.fn.daterangepicker = function (options, callback) {\n var implementOptions = $.extend(true, {}, $.fn.daterangepicker.defaultOptions, options);\n this.each(function () {\n var el = $(this);\n if (el.data('daterangepicker')) el.data('daterangepicker').remove();\n el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback));\n });\n return this;\n };\n\n return DateRangePicker;\n});","var map = {\n\t\"./af\": 80,\n\t\"./af.js\": 80,\n\t\"./ar\": 81,\n\t\"./ar-dz\": 82,\n\t\"./ar-dz.js\": 82,\n\t\"./ar-kw\": 83,\n\t\"./ar-kw.js\": 83,\n\t\"./ar-ly\": 84,\n\t\"./ar-ly.js\": 84,\n\t\"./ar-ma\": 85,\n\t\"./ar-ma.js\": 85,\n\t\"./ar-sa\": 86,\n\t\"./ar-sa.js\": 86,\n\t\"./ar-tn\": 87,\n\t\"./ar-tn.js\": 87,\n\t\"./ar.js\": 81,\n\t\"./az\": 88,\n\t\"./az.js\": 88,\n\t\"./be\": 89,\n\t\"./be.js\": 89,\n\t\"./bg\": 90,\n\t\"./bg.js\": 90,\n\t\"./bm\": 91,\n\t\"./bm.js\": 91,\n\t\"./bn\": 92,\n\t\"./bn-bd\": 93,\n\t\"./bn-bd.js\": 93,\n\t\"./bn.js\": 92,\n\t\"./bo\": 94,\n\t\"./bo.js\": 94,\n\t\"./br\": 95,\n\t\"./br.js\": 95,\n\t\"./bs\": 96,\n\t\"./bs.js\": 96,\n\t\"./ca\": 97,\n\t\"./ca.js\": 97,\n\t\"./cs\": 98,\n\t\"./cs.js\": 98,\n\t\"./cv\": 99,\n\t\"./cv.js\": 99,\n\t\"./cy\": 100,\n\t\"./cy.js\": 100,\n\t\"./da\": 101,\n\t\"./da.js\": 101,\n\t\"./de\": 102,\n\t\"./de-at\": 103,\n\t\"./de-at.js\": 103,\n\t\"./de-ch\": 104,\n\t\"./de-ch.js\": 104,\n\t\"./de.js\": 102,\n\t\"./dv\": 105,\n\t\"./dv.js\": 105,\n\t\"./el\": 106,\n\t\"./el.js\": 106,\n\t\"./en-au\": 107,\n\t\"./en-au.js\": 107,\n\t\"./en-ca\": 108,\n\t\"./en-ca.js\": 108,\n\t\"./en-gb\": 109,\n\t\"./en-gb.js\": 109,\n\t\"./en-ie\": 110,\n\t\"./en-ie.js\": 110,\n\t\"./en-il\": 111,\n\t\"./en-il.js\": 111,\n\t\"./en-in\": 112,\n\t\"./en-in.js\": 112,\n\t\"./en-nz\": 113,\n\t\"./en-nz.js\": 113,\n\t\"./en-sg\": 114,\n\t\"./en-sg.js\": 114,\n\t\"./eo\": 115,\n\t\"./eo.js\": 115,\n\t\"./es\": 116,\n\t\"./es-do\": 117,\n\t\"./es-do.js\": 117,\n\t\"./es-mx\": 118,\n\t\"./es-mx.js\": 118,\n\t\"./es-us\": 119,\n\t\"./es-us.js\": 119,\n\t\"./es.js\": 116,\n\t\"./et\": 120,\n\t\"./et.js\": 120,\n\t\"./eu\": 121,\n\t\"./eu.js\": 121,\n\t\"./fa\": 122,\n\t\"./fa.js\": 122,\n\t\"./fi\": 123,\n\t\"./fi.js\": 123,\n\t\"./fil\": 124,\n\t\"./fil.js\": 124,\n\t\"./fo\": 125,\n\t\"./fo.js\": 125,\n\t\"./fr\": 126,\n\t\"./fr-ca\": 127,\n\t\"./fr-ca.js\": 127,\n\t\"./fr-ch\": 128,\n\t\"./fr-ch.js\": 128,\n\t\"./fr.js\": 126,\n\t\"./fy\": 129,\n\t\"./fy.js\": 129,\n\t\"./ga\": 130,\n\t\"./ga.js\": 130,\n\t\"./gd\": 131,\n\t\"./gd.js\": 131,\n\t\"./gl\": 132,\n\t\"./gl.js\": 132,\n\t\"./gom-deva\": 133,\n\t\"./gom-deva.js\": 133,\n\t\"./gom-latn\": 134,\n\t\"./gom-latn.js\": 134,\n\t\"./gu\": 135,\n\t\"./gu.js\": 135,\n\t\"./he\": 136,\n\t\"./he.js\": 136,\n\t\"./hi\": 137,\n\t\"./hi.js\": 137,\n\t\"./hr\": 138,\n\t\"./hr.js\": 138,\n\t\"./hu\": 139,\n\t\"./hu.js\": 139,\n\t\"./hy-am\": 140,\n\t\"./hy-am.js\": 140,\n\t\"./id\": 141,\n\t\"./id.js\": 141,\n\t\"./is\": 142,\n\t\"./is.js\": 142,\n\t\"./it\": 143,\n\t\"./it-ch\": 144,\n\t\"./it-ch.js\": 144,\n\t\"./it.js\": 143,\n\t\"./ja\": 145,\n\t\"./ja.js\": 145,\n\t\"./jv\": 146,\n\t\"./jv.js\": 146,\n\t\"./ka\": 147,\n\t\"./ka.js\": 147,\n\t\"./kk\": 148,\n\t\"./kk.js\": 148,\n\t\"./km\": 149,\n\t\"./km.js\": 149,\n\t\"./kn\": 150,\n\t\"./kn.js\": 150,\n\t\"./ko\": 151,\n\t\"./ko.js\": 151,\n\t\"./ku\": 152,\n\t\"./ku.js\": 152,\n\t\"./ky\": 153,\n\t\"./ky.js\": 153,\n\t\"./lb\": 154,\n\t\"./lb.js\": 154,\n\t\"./lo\": 155,\n\t\"./lo.js\": 155,\n\t\"./lt\": 156,\n\t\"./lt.js\": 156,\n\t\"./lv\": 157,\n\t\"./lv.js\": 157,\n\t\"./me\": 158,\n\t\"./me.js\": 158,\n\t\"./mi\": 159,\n\t\"./mi.js\": 159,\n\t\"./mk\": 160,\n\t\"./mk.js\": 160,\n\t\"./ml\": 161,\n\t\"./ml.js\": 161,\n\t\"./mn\": 162,\n\t\"./mn.js\": 162,\n\t\"./mr\": 163,\n\t\"./mr.js\": 163,\n\t\"./ms\": 164,\n\t\"./ms-my\": 165,\n\t\"./ms-my.js\": 165,\n\t\"./ms.js\": 164,\n\t\"./mt\": 166,\n\t\"./mt.js\": 166,\n\t\"./my\": 167,\n\t\"./my.js\": 167,\n\t\"./nb\": 168,\n\t\"./nb.js\": 168,\n\t\"./ne\": 169,\n\t\"./ne.js\": 169,\n\t\"./nl\": 170,\n\t\"./nl-be\": 171,\n\t\"./nl-be.js\": 171,\n\t\"./nl.js\": 170,\n\t\"./nn\": 172,\n\t\"./nn.js\": 172,\n\t\"./oc-lnc\": 173,\n\t\"./oc-lnc.js\": 173,\n\t\"./pa-in\": 174,\n\t\"./pa-in.js\": 174,\n\t\"./pl\": 175,\n\t\"./pl.js\": 175,\n\t\"./pt\": 176,\n\t\"./pt-br\": 177,\n\t\"./pt-br.js\": 177,\n\t\"./pt.js\": 176,\n\t\"./ro\": 178,\n\t\"./ro.js\": 178,\n\t\"./ru\": 179,\n\t\"./ru.js\": 179,\n\t\"./sd\": 180,\n\t\"./sd.js\": 180,\n\t\"./se\": 181,\n\t\"./se.js\": 181,\n\t\"./si\": 182,\n\t\"./si.js\": 182,\n\t\"./sk\": 183,\n\t\"./sk.js\": 183,\n\t\"./sl\": 184,\n\t\"./sl.js\": 184,\n\t\"./sq\": 185,\n\t\"./sq.js\": 185,\n\t\"./sr\": 186,\n\t\"./sr-cyrl\": 187,\n\t\"./sr-cyrl.js\": 187,\n\t\"./sr.js\": 186,\n\t\"./ss\": 188,\n\t\"./ss.js\": 188,\n\t\"./sv\": 189,\n\t\"./sv.js\": 189,\n\t\"./sw\": 190,\n\t\"./sw.js\": 190,\n\t\"./ta\": 191,\n\t\"./ta.js\": 191,\n\t\"./te\": 192,\n\t\"./te.js\": 192,\n\t\"./tet\": 193,\n\t\"./tet.js\": 193,\n\t\"./tg\": 194,\n\t\"./tg.js\": 194,\n\t\"./th\": 195,\n\t\"./th.js\": 195,\n\t\"./tk\": 196,\n\t\"./tk.js\": 196,\n\t\"./tl-ph\": 197,\n\t\"./tl-ph.js\": 197,\n\t\"./tlh\": 198,\n\t\"./tlh.js\": 198,\n\t\"./tr\": 199,\n\t\"./tr.js\": 199,\n\t\"./tzl\": 200,\n\t\"./tzl.js\": 200,\n\t\"./tzm\": 201,\n\t\"./tzm-latn\": 202,\n\t\"./tzm-latn.js\": 202,\n\t\"./tzm.js\": 201,\n\t\"./ug-cn\": 203,\n\t\"./ug-cn.js\": 203,\n\t\"./uk\": 204,\n\t\"./uk.js\": 204,\n\t\"./ur\": 205,\n\t\"./ur.js\": 205,\n\t\"./uz\": 206,\n\t\"./uz-latn\": 207,\n\t\"./uz-latn.js\": 207,\n\t\"./uz.js\": 206,\n\t\"./vi\": 208,\n\t\"./vi.js\": 208,\n\t\"./x-pseudo\": 209,\n\t\"./x-pseudo.js\": 209,\n\t\"./yo\": 210,\n\t\"./yo.js\": 210,\n\t\"./zh-cn\": 211,\n\t\"./zh-cn.js\": 211,\n\t\"./zh-hk\": 212,\n\t\"./zh-hk.js\": 212,\n\t\"./zh-mo\": 213,\n\t\"./zh-mo.js\": 213,\n\t\"./zh-tw\": 214,\n\t\"./zh-tw.js\": 214\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 343;","(function () {\n var $,\n AbstractChosen,\n Chosen,\n SelectParser,\n bind = function bind(fn, me) {\n return function () {\n return fn.apply(me, arguments);\n };\n },\n extend = function extend(child, parent) {\n for (var key in parent) {\n if (hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n },\n hasProp = {}.hasOwnProperty;\n\n SelectParser = function () {\n function SelectParser() {\n this.options_index = 0;\n this.parsed = [];\n }\n\n SelectParser.prototype.add_node = function (child) {\n if (child.nodeName.toUpperCase() === \"OPTGROUP\") {\n return this.add_group(child);\n } else {\n return this.add_option(child);\n }\n };\n\n SelectParser.prototype.add_group = function (group) {\n var group_position, i, len, option, ref, results1;\n group_position = this.parsed.length;\n this.parsed.push({\n array_index: group_position,\n group: true,\n label: group.label,\n title: group.title ? group.title : void 0,\n children: 0,\n disabled: group.disabled,\n classes: group.className\n });\n ref = group.childNodes;\n results1 = [];\n\n for (i = 0, len = ref.length; i < len; i++) {\n option = ref[i];\n results1.push(this.add_option(option, group_position, group.disabled));\n }\n\n return results1;\n };\n\n SelectParser.prototype.add_option = function (option, group_position, group_disabled) {\n if (option.nodeName.toUpperCase() === \"OPTION\") {\n if (option.text !== \"\") {\n if (group_position != null) {\n this.parsed[group_position].children += 1;\n }\n\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n value: option.value,\n text: option.text,\n html: option.innerHTML,\n title: option.title ? option.title : void 0,\n selected: option.selected,\n disabled: group_disabled === true ? group_disabled : option.disabled,\n group_array_index: group_position,\n group_label: group_position != null ? this.parsed[group_position].label : null,\n classes: option.className,\n style: option.style.cssText\n });\n } else {\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n empty: true\n });\n }\n\n return this.options_index += 1;\n }\n };\n\n return SelectParser;\n }();\n\n SelectParser.select_to_array = function (select) {\n var child, i, len, parser, ref;\n parser = new SelectParser();\n ref = select.childNodes;\n\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n parser.add_node(child);\n }\n\n return parser.parsed;\n };\n\n AbstractChosen = function () {\n function AbstractChosen(form_field, options1) {\n this.form_field = form_field;\n this.options = options1 != null ? options1 : {};\n this.label_click_handler = bind(this.label_click_handler, this);\n\n if (!AbstractChosen.browser_is_supported()) {\n return;\n }\n\n this.is_multiple = this.form_field.multiple;\n this.set_default_text();\n this.set_default_values();\n this.setup();\n this.set_up_html();\n this.register_observers();\n this.on_ready();\n }\n\n AbstractChosen.prototype.set_default_values = function () {\n this.click_test_action = function (_this) {\n return function (evt) {\n return _this.test_active_click(evt);\n };\n }(this);\n\n this.activate_action = function (_this) {\n return function (evt) {\n return _this.activate_field(evt);\n };\n }(this);\n\n this.active_field = false;\n this.mouse_on_container = false;\n this.results_showing = false;\n this.result_highlighted = null;\n this.is_rtl = this.options.rtl || /\\bchosen-rtl\\b/.test(this.form_field.className);\n this.allow_single_deselect = this.options.allow_single_deselect != null && this.form_field.options[0] != null && this.form_field.options[0].text === \"\" ? this.options.allow_single_deselect : false;\n this.disable_search_threshold = this.options.disable_search_threshold || 0;\n this.disable_search = this.options.disable_search || false;\n this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;\n this.group_search = this.options.group_search != null ? this.options.group_search : true;\n this.search_contains = this.options.search_contains || false;\n this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true;\n this.max_selected_options = this.options.max_selected_options || Infinity;\n this.inherit_select_classes = this.options.inherit_select_classes || false;\n this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true;\n this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true;\n this.include_group_label_in_selected = this.options.include_group_label_in_selected || false;\n this.max_shown_results = this.options.max_shown_results || Number.POSITIVE_INFINITY;\n this.case_sensitive_search = this.options.case_sensitive_search || false;\n return this.hide_results_on_select = this.options.hide_results_on_select != null ? this.options.hide_results_on_select : true;\n };\n\n AbstractChosen.prototype.set_default_text = function () {\n if (this.form_field.getAttribute(\"data-placeholder\")) {\n this.default_text = this.form_field.getAttribute(\"data-placeholder\");\n } else if (this.is_multiple) {\n this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;\n } else {\n this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;\n }\n\n this.default_text = this.escape_html(this.default_text);\n return this.results_none_found = this.form_field.getAttribute(\"data-no_results_text\") || this.options.no_results_text || AbstractChosen.default_no_result_text;\n };\n\n AbstractChosen.prototype.choice_label = function (item) {\n if (this.include_group_label_in_selected && item.group_label != null) {\n return \"\" + this.escape_html(item.group_label) + \"\" + item.html;\n } else {\n return item.html;\n }\n };\n\n AbstractChosen.prototype.mouse_enter = function () {\n return this.mouse_on_container = true;\n };\n\n AbstractChosen.prototype.mouse_leave = function () {\n return this.mouse_on_container = false;\n };\n\n AbstractChosen.prototype.input_focus = function (evt) {\n if (this.is_multiple) {\n if (!this.active_field) {\n return setTimeout(function (_this) {\n return function () {\n return _this.container_mousedown();\n };\n }(this), 50);\n }\n } else {\n if (!this.active_field) {\n return this.activate_field();\n }\n }\n };\n\n AbstractChosen.prototype.input_blur = function (evt) {\n if (!this.mouse_on_container) {\n this.active_field = false;\n return setTimeout(function (_this) {\n return function () {\n return _this.blur_test();\n };\n }(this), 100);\n }\n };\n\n AbstractChosen.prototype.label_click_handler = function (evt) {\n if (this.is_multiple) {\n return this.container_mousedown(evt);\n } else {\n return this.activate_field();\n }\n };\n\n AbstractChosen.prototype.results_option_build = function (options) {\n var content, data, data_content, i, len, ref, shown_results;\n content = '';\n shown_results = 0;\n ref = this.results_data;\n\n for (i = 0, len = ref.length; i < len; i++) {\n data = ref[i];\n data_content = '';\n\n if (data.group) {\n data_content = this.result_add_group(data);\n } else {\n data_content = this.result_add_option(data);\n }\n\n if (data_content !== '') {\n shown_results++;\n content += data_content;\n }\n\n if (options != null ? options.first : void 0) {\n if (data.selected && this.is_multiple) {\n this.choice_build(data);\n } else if (data.selected && !this.is_multiple) {\n this.single_set_selected_text(this.choice_label(data));\n }\n }\n\n if (shown_results >= this.max_shown_results) {\n break;\n }\n }\n\n return content;\n };\n\n AbstractChosen.prototype.result_add_option = function (option) {\n var classes, option_el;\n\n if (!option.search_match) {\n return '';\n }\n\n if (!this.include_option_in_results(option)) {\n return '';\n }\n\n classes = [];\n\n if (!option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"active-result\");\n }\n\n if (option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"disabled-result\");\n }\n\n if (option.selected) {\n classes.push(\"result-selected\");\n }\n\n if (option.group_array_index != null) {\n classes.push(\"group-option\");\n }\n\n if (option.classes !== \"\") {\n classes.push(option.classes);\n }\n\n option_el = document.createElement(\"li\");\n option_el.className = classes.join(\" \");\n\n if (option.style) {\n option_el.style.cssText = option.style;\n }\n\n option_el.setAttribute(\"data-option-array-index\", option.array_index);\n option_el.innerHTML = option.highlighted_html || option.html;\n\n if (option.title) {\n option_el.title = option.title;\n }\n\n return this.outerHTML(option_el);\n };\n\n AbstractChosen.prototype.result_add_group = function (group) {\n var classes, group_el;\n\n if (!(group.search_match || group.group_match)) {\n return '';\n }\n\n if (!(group.active_options > 0)) {\n return '';\n }\n\n classes = [];\n classes.push(\"group-result\");\n\n if (group.classes) {\n classes.push(group.classes);\n }\n\n group_el = document.createElement(\"li\");\n group_el.className = classes.join(\" \");\n group_el.innerHTML = group.highlighted_html || this.escape_html(group.label);\n\n if (group.title) {\n group_el.title = group.title;\n }\n\n return this.outerHTML(group_el);\n };\n\n AbstractChosen.prototype.results_update_field = function () {\n this.set_default_text();\n\n if (!this.is_multiple) {\n this.results_reset_cleanup();\n }\n\n this.result_clear_highlight();\n this.results_build();\n\n if (this.results_showing) {\n return this.winnow_results();\n }\n };\n\n AbstractChosen.prototype.reset_single_select_options = function () {\n var i, len, ref, result, results1;\n ref = this.results_data;\n results1 = [];\n\n for (i = 0, len = ref.length; i < len; i++) {\n result = ref[i];\n\n if (result.selected) {\n results1.push(result.selected = false);\n } else {\n results1.push(void 0);\n }\n }\n\n return results1;\n };\n\n AbstractChosen.prototype.results_toggle = function () {\n if (this.results_showing) {\n return this.results_hide();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.results_search = function (evt) {\n if (this.results_showing) {\n return this.winnow_results();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.winnow_results = function (options) {\n var escapedQuery, fix, i, len, option, prefix, query, ref, regex, results, results_group, search_match, startpos, suffix, text;\n this.no_results_clear();\n results = 0;\n query = this.get_search_text();\n escapedQuery = query.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n regex = this.get_search_regex(escapedQuery);\n ref = this.results_data;\n\n for (i = 0, len = ref.length; i < len; i++) {\n option = ref[i];\n option.search_match = false;\n results_group = null;\n search_match = null;\n option.highlighted_html = '';\n\n if (this.include_option_in_results(option)) {\n if (option.group) {\n option.group_match = false;\n option.active_options = 0;\n }\n\n if (option.group_array_index != null && this.results_data[option.group_array_index]) {\n results_group = this.results_data[option.group_array_index];\n\n if (results_group.active_options === 0 && results_group.search_match) {\n results += 1;\n }\n\n results_group.active_options += 1;\n }\n\n text = option.group ? option.label : option.text;\n\n if (!(option.group && !this.group_search)) {\n search_match = this.search_string_match(text, regex);\n option.search_match = search_match != null;\n\n if (option.search_match && !option.group) {\n results += 1;\n }\n\n if (option.search_match) {\n if (query.length) {\n startpos = search_match.index;\n prefix = text.slice(0, startpos);\n fix = text.slice(startpos, startpos + query.length);\n suffix = text.slice(startpos + query.length);\n option.highlighted_html = this.escape_html(prefix) + \"\" + this.escape_html(fix) + \"\" + this.escape_html(suffix);\n }\n\n if (results_group != null) {\n results_group.group_match = true;\n }\n } else if (option.group_array_index != null && this.results_data[option.group_array_index].search_match) {\n option.search_match = true;\n }\n }\n }\n }\n\n this.result_clear_highlight();\n\n if (results < 1 && query.length) {\n this.update_results_content(\"\");\n return this.no_results(query);\n } else {\n this.update_results_content(this.results_option_build());\n\n if (!(options != null ? options.skip_highlight : void 0)) {\n return this.winnow_results_set_highlight();\n }\n }\n };\n\n AbstractChosen.prototype.get_search_regex = function (escaped_search_string) {\n var regex_flag, regex_string;\n regex_string = this.search_contains ? escaped_search_string : \"(^|\\\\s|\\\\b)\" + escaped_search_string + \"[^\\\\s]*\";\n\n if (!(this.enable_split_word_search || this.search_contains)) {\n regex_string = \"^\" + regex_string;\n }\n\n regex_flag = this.case_sensitive_search ? \"\" : \"i\";\n return new RegExp(regex_string, regex_flag);\n };\n\n AbstractChosen.prototype.search_string_match = function (search_string, regex) {\n var match;\n match = regex.exec(search_string);\n\n if (!this.search_contains && (match != null ? match[1] : void 0)) {\n match.index += 1;\n }\n\n return match;\n };\n\n AbstractChosen.prototype.choices_count = function () {\n var i, len, option, ref;\n\n if (this.selected_option_count != null) {\n return this.selected_option_count;\n }\n\n this.selected_option_count = 0;\n ref = this.form_field.options;\n\n for (i = 0, len = ref.length; i < len; i++) {\n option = ref[i];\n\n if (option.selected) {\n this.selected_option_count += 1;\n }\n }\n\n return this.selected_option_count;\n };\n\n AbstractChosen.prototype.choices_click = function (evt) {\n evt.preventDefault();\n this.activate_field();\n\n if (!(this.results_showing || this.is_disabled)) {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.keydown_checker = function (evt) {\n var ref, stroke;\n stroke = (ref = evt.which) != null ? ref : evt.keyCode;\n this.search_field_scale();\n\n if (stroke !== 8 && this.pending_backstroke) {\n this.clear_backstroke();\n }\n\n switch (stroke) {\n case 8:\n this.backstroke_length = this.get_search_field_value().length;\n break;\n\n case 9:\n if (this.results_showing && !this.is_multiple) {\n this.result_select(evt);\n }\n\n this.mouse_on_container = false;\n break;\n\n case 13:\n if (this.results_showing) {\n evt.preventDefault();\n }\n\n break;\n\n case 27:\n if (this.results_showing) {\n evt.preventDefault();\n }\n\n break;\n\n case 32:\n if (this.disable_search) {\n evt.preventDefault();\n }\n\n break;\n\n case 38:\n evt.preventDefault();\n this.keyup_arrow();\n break;\n\n case 40:\n evt.preventDefault();\n this.keydown_arrow();\n break;\n }\n };\n\n AbstractChosen.prototype.keyup_checker = function (evt) {\n var ref, stroke;\n stroke = (ref = evt.which) != null ? ref : evt.keyCode;\n this.search_field_scale();\n\n switch (stroke) {\n case 8:\n if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {\n this.keydown_backstroke();\n } else if (!this.pending_backstroke) {\n this.result_clear_highlight();\n this.results_search();\n }\n\n break;\n\n case 13:\n evt.preventDefault();\n\n if (this.results_showing) {\n this.result_select(evt);\n }\n\n break;\n\n case 27:\n if (this.results_showing) {\n this.results_hide();\n }\n\n break;\n\n case 9:\n case 16:\n case 17:\n case 18:\n case 38:\n case 40:\n case 91:\n break;\n\n default:\n this.results_search();\n break;\n }\n };\n\n AbstractChosen.prototype.clipboard_event_checker = function (evt) {\n if (this.is_disabled) {\n return;\n }\n\n return setTimeout(function (_this) {\n return function () {\n return _this.results_search();\n };\n }(this), 50);\n };\n\n AbstractChosen.prototype.container_width = function () {\n if (this.options.width != null) {\n return this.options.width;\n } else {\n return this.form_field.offsetWidth + \"px\";\n }\n };\n\n AbstractChosen.prototype.include_option_in_results = function (option) {\n if (this.is_multiple && !this.display_selected_options && option.selected) {\n return false;\n }\n\n if (!this.display_disabled_options && option.disabled) {\n return false;\n }\n\n if (option.empty) {\n return false;\n }\n\n return true;\n };\n\n AbstractChosen.prototype.search_results_touchstart = function (evt) {\n this.touch_started = true;\n return this.search_results_mouseover(evt);\n };\n\n AbstractChosen.prototype.search_results_touchmove = function (evt) {\n this.touch_started = false;\n return this.search_results_mouseout(evt);\n };\n\n AbstractChosen.prototype.search_results_touchend = function (evt) {\n if (this.touch_started) {\n return this.search_results_mouseup(evt);\n }\n };\n\n AbstractChosen.prototype.outerHTML = function (element) {\n var tmp;\n\n if (element.outerHTML) {\n return element.outerHTML;\n }\n\n tmp = document.createElement(\"div\");\n tmp.appendChild(element);\n return tmp.innerHTML;\n };\n\n AbstractChosen.prototype.get_single_html = function () {\n return \"\\n \" + this.default_text + \"\\n
\\n
\\n
\\n
\\n \\n
\\n
    \\n
    \";\n };\n\n AbstractChosen.prototype.get_multi_html = function () {\n return \"
      \\n
    • \\n \\n
    • \\n
    \\n
    \\n
      \\n
      \";\n };\n\n AbstractChosen.prototype.get_no_results_html = function (terms) {\n return \"
    • \\n \" + this.results_none_found + \" \" + this.escape_html(terms) + \"\\n
    • \";\n };\n\n AbstractChosen.browser_is_supported = function () {\n if (\"Microsoft Internet Explorer\" === window.navigator.appName) {\n return document.documentMode >= 8;\n }\n\n if (/iP(od|hone)/i.test(window.navigator.userAgent) || /IEMobile/i.test(window.navigator.userAgent) || /Windows Phone/i.test(window.navigator.userAgent) || /BlackBerry/i.test(window.navigator.userAgent) || /BB10/i.test(window.navigator.userAgent) || /Android.*Mobile/i.test(window.navigator.userAgent)) {\n return false;\n }\n\n return true;\n };\n\n AbstractChosen.default_multiple_text = \"Select Some Options\";\n AbstractChosen.default_single_text = \"Select an Option\";\n AbstractChosen.default_no_result_text = \"No results match\";\n return AbstractChosen;\n }();\n\n $ = jQuery;\n $.fn.extend({\n chosen: function chosen(options) {\n if (!AbstractChosen.browser_is_supported()) {\n return this;\n }\n\n return this.each(function (input_field) {\n var $this, chosen;\n $this = $(this);\n chosen = $this.data('chosen');\n\n if (options === 'destroy') {\n if (chosen instanceof Chosen) {\n chosen.destroy();\n }\n\n return;\n }\n\n if (!(chosen instanceof Chosen)) {\n $this.data('chosen', new Chosen(this, options));\n }\n });\n }\n });\n\n Chosen = function (superClass) {\n extend(Chosen, superClass);\n\n function Chosen() {\n return Chosen.__super__.constructor.apply(this, arguments);\n }\n\n Chosen.prototype.setup = function () {\n this.form_field_jq = $(this.form_field);\n return this.current_selectedIndex = this.form_field.selectedIndex;\n };\n\n Chosen.prototype.set_up_html = function () {\n var container_classes, container_props;\n container_classes = [\"chosen-container\"];\n container_classes.push(\"chosen-container-\" + (this.is_multiple ? \"multi\" : \"single\"));\n\n if (this.inherit_select_classes && this.form_field.className) {\n container_classes.push(this.form_field.className);\n }\n\n if (this.is_rtl) {\n container_classes.push(\"chosen-rtl\");\n }\n\n container_props = {\n 'class': container_classes.join(' '),\n 'title': this.form_field.title\n };\n\n if (this.form_field.id.length) {\n container_props.id = this.form_field.id.replace(/[^\\w]/g, '_') + \"_chosen\";\n }\n\n this.container = $(\"
      \", container_props);\n this.container.width(this.container_width());\n\n if (this.is_multiple) {\n this.container.html(this.get_multi_html());\n } else {\n this.container.html(this.get_single_html());\n }\n\n this.form_field_jq.hide().after(this.container);\n this.dropdown = this.container.find('div.chosen-drop').first();\n this.search_field = this.container.find('input').first();\n this.search_results = this.container.find('ul.chosen-results').first();\n this.search_field_scale();\n this.search_no_results = this.container.find('li.no-results').first();\n\n if (this.is_multiple) {\n this.search_choices = this.container.find('ul.chosen-choices').first();\n this.search_container = this.container.find('li.search-field').first();\n } else {\n this.search_container = this.container.find('div.chosen-search').first();\n this.selected_item = this.container.find('.chosen-single').first();\n }\n\n this.results_build();\n this.set_tab_index();\n return this.set_label_behavior();\n };\n\n Chosen.prototype.on_ready = function () {\n return this.form_field_jq.trigger(\"chosen:ready\", {\n chosen: this\n });\n };\n\n Chosen.prototype.register_observers = function () {\n this.container.on('touchstart.chosen', function (_this) {\n return function (evt) {\n _this.container_mousedown(evt);\n };\n }(this));\n this.container.on('touchend.chosen', function (_this) {\n return function (evt) {\n _this.container_mouseup(evt);\n };\n }(this));\n this.container.on('mousedown.chosen', function (_this) {\n return function (evt) {\n _this.container_mousedown(evt);\n };\n }(this));\n this.container.on('mouseup.chosen', function (_this) {\n return function (evt) {\n _this.container_mouseup(evt);\n };\n }(this));\n this.container.on('mouseenter.chosen', function (_this) {\n return function (evt) {\n _this.mouse_enter(evt);\n };\n }(this));\n this.container.on('mouseleave.chosen', function (_this) {\n return function (evt) {\n _this.mouse_leave(evt);\n };\n }(this));\n this.search_results.on('mouseup.chosen', function (_this) {\n return function (evt) {\n _this.search_results_mouseup(evt);\n };\n }(this));\n this.search_results.on('mouseover.chosen', function (_this) {\n return function (evt) {\n _this.search_results_mouseover(evt);\n };\n }(this));\n this.search_results.on('mouseout.chosen', function (_this) {\n return function (evt) {\n _this.search_results_mouseout(evt);\n };\n }(this));\n this.search_results.on('mousewheel.chosen DOMMouseScroll.chosen', function (_this) {\n return function (evt) {\n _this.search_results_mousewheel(evt);\n };\n }(this));\n this.search_results.on('touchstart.chosen', function (_this) {\n return function (evt) {\n _this.search_results_touchstart(evt);\n };\n }(this));\n this.search_results.on('touchmove.chosen', function (_this) {\n return function (evt) {\n _this.search_results_touchmove(evt);\n };\n }(this));\n this.search_results.on('touchend.chosen', function (_this) {\n return function (evt) {\n _this.search_results_touchend(evt);\n };\n }(this));\n this.form_field_jq.on(\"chosen:updated.chosen\", function (_this) {\n return function (evt) {\n _this.results_update_field(evt);\n };\n }(this));\n this.form_field_jq.on(\"chosen:activate.chosen\", function (_this) {\n return function (evt) {\n _this.activate_field(evt);\n };\n }(this));\n this.form_field_jq.on(\"chosen:open.chosen\", function (_this) {\n return function (evt) {\n _this.container_mousedown(evt);\n };\n }(this));\n this.form_field_jq.on(\"chosen:close.chosen\", function (_this) {\n return function (evt) {\n _this.close_field(evt);\n };\n }(this));\n this.search_field.on('blur.chosen', function (_this) {\n return function (evt) {\n _this.input_blur(evt);\n };\n }(this));\n this.search_field.on('keyup.chosen', function (_this) {\n return function (evt) {\n _this.keyup_checker(evt);\n };\n }(this));\n this.search_field.on('keydown.chosen', function (_this) {\n return function (evt) {\n _this.keydown_checker(evt);\n };\n }(this));\n this.search_field.on('focus.chosen', function (_this) {\n return function (evt) {\n _this.input_focus(evt);\n };\n }(this));\n this.search_field.on('cut.chosen', function (_this) {\n return function (evt) {\n _this.clipboard_event_checker(evt);\n };\n }(this));\n this.search_field.on('paste.chosen', function (_this) {\n return function (evt) {\n _this.clipboard_event_checker(evt);\n };\n }(this));\n\n if (this.is_multiple) {\n return this.search_choices.on('click.chosen', function (_this) {\n return function (evt) {\n _this.choices_click(evt);\n };\n }(this));\n } else {\n return this.container.on('click.chosen', function (evt) {\n evt.preventDefault();\n });\n }\n };\n\n Chosen.prototype.destroy = function () {\n $(this.container[0].ownerDocument).off('click.chosen', this.click_test_action);\n\n if (this.form_field_label.length > 0) {\n this.form_field_label.off('click.chosen');\n }\n\n if (this.search_field[0].tabIndex) {\n this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex;\n }\n\n this.container.remove();\n this.form_field_jq.removeData('chosen');\n return this.form_field_jq.show();\n };\n\n Chosen.prototype.search_field_disabled = function () {\n this.is_disabled = this.form_field.disabled || this.form_field_jq.parents('fieldset').is(':disabled');\n this.container.toggleClass('chosen-disabled', this.is_disabled);\n this.search_field[0].disabled = this.is_disabled;\n\n if (!this.is_multiple) {\n this.selected_item.off('focus.chosen', this.activate_field);\n }\n\n if (this.is_disabled) {\n return this.close_field();\n } else if (!this.is_multiple) {\n return this.selected_item.on('focus.chosen', this.activate_field);\n }\n };\n\n Chosen.prototype.container_mousedown = function (evt) {\n var ref;\n\n if (this.is_disabled) {\n return;\n }\n\n if (evt && ((ref = evt.type) === 'mousedown' || ref === 'touchstart') && !this.results_showing) {\n evt.preventDefault();\n }\n\n if (!(evt != null && $(evt.target).hasClass(\"search-choice-close\"))) {\n if (!this.active_field) {\n if (this.is_multiple) {\n this.search_field.val(\"\");\n }\n\n $(this.container[0].ownerDocument).on('click.chosen', this.click_test_action);\n this.results_show();\n } else if (!this.is_multiple && evt && ($(evt.target)[0] === this.selected_item[0] || $(evt.target).parents(\"a.chosen-single\").length)) {\n evt.preventDefault();\n this.results_toggle();\n }\n\n return this.activate_field();\n }\n };\n\n Chosen.prototype.container_mouseup = function (evt) {\n if (evt.target.nodeName === \"ABBR\" && !this.is_disabled) {\n return this.results_reset(evt);\n }\n };\n\n Chosen.prototype.search_results_mousewheel = function (evt) {\n var delta;\n\n if (evt.originalEvent) {\n delta = evt.originalEvent.deltaY || -evt.originalEvent.wheelDelta || evt.originalEvent.detail;\n }\n\n if (delta != null) {\n evt.preventDefault();\n\n if (evt.type === 'DOMMouseScroll') {\n delta = delta * 40;\n }\n\n return this.search_results.scrollTop(delta + this.search_results.scrollTop());\n }\n };\n\n Chosen.prototype.blur_test = function (evt) {\n if (!this.active_field && this.container.hasClass(\"chosen-container-active\")) {\n return this.close_field();\n }\n };\n\n Chosen.prototype.close_field = function () {\n $(this.container[0].ownerDocument).off(\"click.chosen\", this.click_test_action);\n this.active_field = false;\n this.results_hide();\n this.container.removeClass(\"chosen-container-active\");\n this.clear_backstroke();\n this.show_search_field_default();\n this.search_field_scale();\n return this.search_field.blur();\n };\n\n Chosen.prototype.activate_field = function () {\n if (this.is_disabled) {\n return;\n }\n\n this.container.addClass(\"chosen-container-active\");\n this.active_field = true;\n this.search_field.val(this.search_field.val());\n return this.search_field.focus();\n };\n\n Chosen.prototype.test_active_click = function (evt) {\n var active_container;\n active_container = $(evt.target).closest('.chosen-container');\n\n if (active_container.length && this.container[0] === active_container[0]) {\n return this.active_field = true;\n } else {\n return this.close_field();\n }\n };\n\n Chosen.prototype.results_build = function () {\n this.parsing = true;\n this.selected_option_count = null;\n this.results_data = SelectParser.select_to_array(this.form_field);\n\n if (this.is_multiple) {\n this.search_choices.find(\"li.search-choice\").remove();\n } else {\n this.single_set_selected_text();\n\n if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {\n this.search_field[0].readOnly = true;\n this.container.addClass(\"chosen-container-single-nosearch\");\n } else {\n this.search_field[0].readOnly = false;\n this.container.removeClass(\"chosen-container-single-nosearch\");\n }\n }\n\n this.update_results_content(this.results_option_build({\n first: true\n }));\n this.search_field_disabled();\n this.show_search_field_default();\n this.search_field_scale();\n return this.parsing = false;\n };\n\n Chosen.prototype.result_do_highlight = function (el) {\n var high_bottom, high_top, maxHeight, visible_bottom, visible_top;\n\n if (el.length) {\n this.result_clear_highlight();\n this.result_highlight = el;\n this.result_highlight.addClass(\"highlighted\");\n maxHeight = parseInt(this.search_results.css(\"maxHeight\"), 10);\n visible_top = this.search_results.scrollTop();\n visible_bottom = maxHeight + visible_top;\n high_top = this.result_highlight.position().top + this.search_results.scrollTop();\n high_bottom = high_top + this.result_highlight.outerHeight();\n\n if (high_bottom >= visible_bottom) {\n return this.search_results.scrollTop(high_bottom - maxHeight > 0 ? high_bottom - maxHeight : 0);\n } else if (high_top < visible_top) {\n return this.search_results.scrollTop(high_top);\n }\n }\n };\n\n Chosen.prototype.result_clear_highlight = function () {\n if (this.result_highlight) {\n this.result_highlight.removeClass(\"highlighted\");\n }\n\n return this.result_highlight = null;\n };\n\n Chosen.prototype.results_show = function () {\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"chosen:maxselected\", {\n chosen: this\n });\n return false;\n }\n\n this.container.addClass(\"chosen-with-drop\");\n this.results_showing = true;\n this.search_field.focus();\n this.search_field.val(this.get_search_field_value());\n this.winnow_results();\n return this.form_field_jq.trigger(\"chosen:showing_dropdown\", {\n chosen: this\n });\n };\n\n Chosen.prototype.update_results_content = function (content) {\n return this.search_results.html(content);\n };\n\n Chosen.prototype.results_hide = function () {\n if (this.results_showing) {\n this.result_clear_highlight();\n this.container.removeClass(\"chosen-with-drop\");\n this.form_field_jq.trigger(\"chosen:hiding_dropdown\", {\n chosen: this\n });\n }\n\n return this.results_showing = false;\n };\n\n Chosen.prototype.set_tab_index = function (el) {\n var ti;\n\n if (this.form_field.tabIndex) {\n ti = this.form_field.tabIndex;\n this.form_field.tabIndex = -1;\n return this.search_field[0].tabIndex = ti;\n }\n };\n\n Chosen.prototype.set_label_behavior = function () {\n this.form_field_label = this.form_field_jq.parents(\"label\");\n\n if (!this.form_field_label.length && this.form_field.id.length) {\n this.form_field_label = $(\"label[for='\" + this.form_field.id + \"']\");\n }\n\n if (this.form_field_label.length > 0) {\n return this.form_field_label.on('click.chosen', this.label_click_handler);\n }\n };\n\n Chosen.prototype.show_search_field_default = function () {\n if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {\n this.search_field.val(this.default_text);\n return this.search_field.addClass(\"default\");\n } else {\n this.search_field.val(\"\");\n return this.search_field.removeClass(\"default\");\n }\n };\n\n Chosen.prototype.search_results_mouseup = function (evt) {\n var target;\n target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n\n if (target.length) {\n this.result_highlight = target;\n this.result_select(evt);\n return this.search_field.focus();\n }\n };\n\n Chosen.prototype.search_results_mouseover = function (evt) {\n var target;\n target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n\n if (target) {\n return this.result_do_highlight(target);\n }\n };\n\n Chosen.prototype.search_results_mouseout = function (evt) {\n if ($(evt.target).hasClass(\"active-result\") || $(evt.target).parents('.active-result').first()) {\n return this.result_clear_highlight();\n }\n };\n\n Chosen.prototype.choice_build = function (item) {\n var choice, close_link;\n choice = $('
    • ', {\n \"class\": \"search-choice\"\n }).html(\"\" + this.choice_label(item) + \"\");\n\n if (item.disabled) {\n choice.addClass('search-choice-disabled');\n } else {\n close_link = $('', {\n \"class\": 'search-choice-close',\n 'data-option-array-index': item.array_index\n });\n close_link.on('click.chosen', function (_this) {\n return function (evt) {\n return _this.choice_destroy_link_click(evt);\n };\n }(this));\n choice.append(close_link);\n }\n\n return this.search_container.before(choice);\n };\n\n Chosen.prototype.choice_destroy_link_click = function (evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n if (!this.is_disabled) {\n return this.choice_destroy($(evt.target));\n }\n };\n\n Chosen.prototype.choice_destroy = function (link) {\n if (this.result_deselect(link[0].getAttribute(\"data-option-array-index\"))) {\n if (this.active_field) {\n this.search_field.focus();\n } else {\n this.show_search_field_default();\n }\n\n if (this.is_multiple && this.choices_count() > 0 && this.get_search_field_value().length < 1) {\n this.results_hide();\n }\n\n link.parents('li').first().remove();\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.results_reset = function () {\n this.reset_single_select_options();\n this.form_field.options[0].selected = true;\n this.single_set_selected_text();\n this.show_search_field_default();\n this.results_reset_cleanup();\n this.trigger_form_field_change();\n\n if (this.active_field) {\n return this.results_hide();\n }\n };\n\n Chosen.prototype.results_reset_cleanup = function () {\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.selected_item.find(\"abbr\").remove();\n };\n\n Chosen.prototype.result_select = function (evt) {\n var high, item;\n\n if (this.result_highlight) {\n high = this.result_highlight;\n this.result_clear_highlight();\n\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"chosen:maxselected\", {\n chosen: this\n });\n return false;\n }\n\n if (this.is_multiple) {\n high.removeClass(\"active-result\");\n } else {\n this.reset_single_select_options();\n }\n\n high.addClass(\"result-selected\");\n item = this.results_data[high[0].getAttribute(\"data-option-array-index\")];\n item.selected = true;\n this.form_field.options[item.options_index].selected = true;\n this.selected_option_count = null;\n\n if (this.is_multiple) {\n this.choice_build(item);\n } else {\n this.single_set_selected_text(this.choice_label(item));\n }\n\n if (this.is_multiple && (!this.hide_results_on_select || evt.metaKey || evt.ctrlKey)) {\n if (evt.metaKey || evt.ctrlKey) {\n this.winnow_results({\n skip_highlight: true\n });\n } else {\n this.search_field.val(\"\");\n this.winnow_results();\n }\n } else {\n this.results_hide();\n this.show_search_field_default();\n }\n\n if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {\n this.trigger_form_field_change({\n selected: this.form_field.options[item.options_index].value\n });\n }\n\n this.current_selectedIndex = this.form_field.selectedIndex;\n evt.preventDefault();\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.single_set_selected_text = function (text) {\n if (text == null) {\n text = this.default_text;\n }\n\n if (text === this.default_text) {\n this.selected_item.addClass(\"chosen-default\");\n } else {\n this.single_deselect_control_build();\n this.selected_item.removeClass(\"chosen-default\");\n }\n\n return this.selected_item.find(\"span\").html(text);\n };\n\n Chosen.prototype.result_deselect = function (pos) {\n var result_data;\n result_data = this.results_data[pos];\n\n if (!this.form_field.options[result_data.options_index].disabled) {\n result_data.selected = false;\n this.form_field.options[result_data.options_index].selected = false;\n this.selected_option_count = null;\n this.result_clear_highlight();\n\n if (this.results_showing) {\n this.winnow_results();\n }\n\n this.trigger_form_field_change({\n deselected: this.form_field.options[result_data.options_index].value\n });\n this.search_field_scale();\n return true;\n } else {\n return false;\n }\n };\n\n Chosen.prototype.single_deselect_control_build = function () {\n if (!this.allow_single_deselect) {\n return;\n }\n\n if (!this.selected_item.find(\"abbr\").length) {\n this.selected_item.find(\"span\").first().after(\"\");\n }\n\n return this.selected_item.addClass(\"chosen-single-with-deselect\");\n };\n\n Chosen.prototype.get_search_field_value = function () {\n return this.search_field.val();\n };\n\n Chosen.prototype.get_search_text = function () {\n return $.trim(this.get_search_field_value());\n };\n\n Chosen.prototype.escape_html = function (text) {\n return $('
      ').text(text).html();\n };\n\n Chosen.prototype.winnow_results_set_highlight = function () {\n var do_high, selected_results;\n selected_results = !this.is_multiple ? this.search_results.find(\".result-selected.active-result\") : [];\n do_high = selected_results.length ? selected_results.first() : this.search_results.find(\".active-result\").first();\n\n if (do_high != null) {\n return this.result_do_highlight(do_high);\n }\n };\n\n Chosen.prototype.no_results = function (terms) {\n var no_results_html;\n no_results_html = this.get_no_results_html(terms);\n this.search_results.append(no_results_html);\n return this.form_field_jq.trigger(\"chosen:no_results\", {\n chosen: this\n });\n };\n\n Chosen.prototype.no_results_clear = function () {\n return this.search_results.find(\".no-results\").remove();\n };\n\n Chosen.prototype.keydown_arrow = function () {\n var next_sib;\n\n if (this.results_showing && this.result_highlight) {\n next_sib = this.result_highlight.nextAll(\"li.active-result\").first();\n\n if (next_sib) {\n return this.result_do_highlight(next_sib);\n }\n } else {\n return this.results_show();\n }\n };\n\n Chosen.prototype.keyup_arrow = function () {\n var prev_sibs;\n\n if (!this.results_showing && !this.is_multiple) {\n return this.results_show();\n } else if (this.result_highlight) {\n prev_sibs = this.result_highlight.prevAll(\"li.active-result\");\n\n if (prev_sibs.length) {\n return this.result_do_highlight(prev_sibs.first());\n } else {\n if (this.choices_count() > 0) {\n this.results_hide();\n }\n\n return this.result_clear_highlight();\n }\n }\n };\n\n Chosen.prototype.keydown_backstroke = function () {\n var next_available_destroy;\n\n if (this.pending_backstroke) {\n this.choice_destroy(this.pending_backstroke.find(\"a\").first());\n return this.clear_backstroke();\n } else {\n next_available_destroy = this.search_container.siblings(\"li.search-choice\").last();\n\n if (next_available_destroy.length && !next_available_destroy.hasClass(\"search-choice-disabled\")) {\n this.pending_backstroke = next_available_destroy;\n\n if (this.single_backstroke_delete) {\n return this.keydown_backstroke();\n } else {\n return this.pending_backstroke.addClass(\"search-choice-focus\");\n }\n }\n }\n };\n\n Chosen.prototype.clear_backstroke = function () {\n if (this.pending_backstroke) {\n this.pending_backstroke.removeClass(\"search-choice-focus\");\n }\n\n return this.pending_backstroke = null;\n };\n\n Chosen.prototype.search_field_scale = function () {\n var div, i, len, style, style_block, styles, width;\n\n if (!this.is_multiple) {\n return;\n }\n\n style_block = {\n position: 'absolute',\n left: '-1000px',\n top: '-1000px',\n display: 'none',\n whiteSpace: 'pre'\n };\n styles = ['fontSize', 'fontStyle', 'fontWeight', 'fontFamily', 'lineHeight', 'textTransform', 'letterSpacing'];\n\n for (i = 0, len = styles.length; i < len; i++) {\n style = styles[i];\n style_block[style] = this.search_field.css(style);\n }\n\n div = $('
      ').css(style_block);\n div.text(this.get_search_field_value());\n $('body').append(div);\n width = div.width() + 25;\n div.remove();\n\n if (this.container.is(':visible')) {\n width = Math.min(this.container.outerWidth() - 10, width);\n }\n\n return this.search_field.width(width);\n };\n\n Chosen.prototype.trigger_form_field_change = function (extra) {\n this.form_field_jq.trigger(\"input\", extra);\n return this.form_field_jq.trigger(\"change\", extra);\n };\n\n return Chosen;\n }(AbstractChosen);\n}).call(this);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Select2 4.1.0-rc.0\n * https://select2.github.io\n *\n * Released under the MIT license\n * https://github.com/select2/select2/blob/master/LICENSE.md\n */\n;\n\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['jquery'], factory);\n } else if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === 'object' && module.exports) {\n // Node/CommonJS\n module.exports = function (root, jQuery) {\n if (jQuery === undefined) {\n // require('jQuery') returns a factory that requires window to\n // build a jQuery instance, we normalize how we use modules\n // that require this pattern but the window provided is a noop\n // if it's defined (how jquery works)\n if (typeof window !== 'undefined') {\n jQuery = require('jquery');\n } else {\n jQuery = require('jquery')(root);\n }\n }\n\n factory(jQuery);\n return jQuery;\n };\n } else {\n // Browser globals\n factory(jQuery);\n }\n})(function (jQuery) {\n // This is needed so we can catch the AMD loader configuration and use it\n // The inner file should be wrapped (by `banner.start.js`) in a function that\n // returns the AMD loader references.\n var S2 = function () {\n // Restore the Select2 AMD loader so it can be used\n // Needed mostly in the language files, where the loader is not inserted\n if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {\n var S2 = jQuery.fn.select2.amd;\n }\n\n var S2;\n\n (function () {\n if (!S2 || !S2.requirejs) {\n if (!S2) {\n S2 = {};\n } else {\n require = S2;\n }\n /**\n * @license almond 0.3.3 Copyright jQuery Foundation and other contributors.\n * Released under MIT license, http://github.com/requirejs/almond/LICENSE\n */\n //Going sloppy to avoid 'use strict' string cost, but strict practices should\n //be followed.\n\n /*global setTimeout: false */\n\n\n var requirejs, require, define;\n\n (function (undef) {\n var main,\n _req,\n makeMap,\n handlers,\n defined = {},\n waiting = {},\n config = {},\n defining = {},\n hasOwn = Object.prototype.hasOwnProperty,\n aps = [].slice,\n jsSuffixRegExp = /\\.js$/;\n\n function hasProp(obj, prop) {\n return hasOwn.call(obj, prop);\n }\n /**\n * Given a relative module name, like ./something, normalize it to\n * a real name that can be mapped to a path.\n * @param {String} name the relative name\n * @param {String} baseName a real name that the name arg is relative\n * to.\n * @returns {String} normalized name\n */\n\n\n function normalize(name, baseName) {\n var nameParts,\n nameSegment,\n mapValue,\n foundMap,\n lastIndex,\n foundI,\n foundStarMap,\n starI,\n i,\n j,\n part,\n normalizedBaseParts,\n baseParts = baseName && baseName.split(\"/\"),\n map = config.map,\n starMap = map && map['*'] || {}; //Adjust any relative paths.\n\n if (name) {\n name = name.split('/');\n lastIndex = name.length - 1; // If wanting node ID compatibility, strip .js from end\n // of IDs. Have to do this here, and not in nameToUrl\n // because node allows either .js or non .js to map\n // to same file.\n\n if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {\n name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');\n } // Starts with a '.' so need the baseName\n\n\n if (name[0].charAt(0) === '.' && baseParts) {\n //Convert baseName to array, and lop off the last part,\n //so that . matches that 'directory' and not name of the baseName's\n //module. For instance, baseName of 'one/two/three', maps to\n //'one/two/three.js', but we want the directory, 'one/two' for\n //this normalization.\n normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);\n name = normalizedBaseParts.concat(name);\n } //start trimDots\n\n\n for (i = 0; i < name.length; i++) {\n part = name[i];\n\n if (part === '.') {\n name.splice(i, 1);\n i -= 1;\n } else if (part === '..') {\n // If at the start, or previous value is still ..,\n // keep them so that when converted to a path it may\n // still work when converted to a path, even though\n // as an ID it is less than ideal. In larger point\n // releases, may be better to just kick out an error.\n if (i === 0 || i === 1 && name[2] === '..' || name[i - 1] === '..') {\n continue;\n } else if (i > 0) {\n name.splice(i - 1, 2);\n i -= 2;\n }\n }\n } //end trimDots\n\n\n name = name.join('/');\n } //Apply map config if available.\n\n\n if ((baseParts || starMap) && map) {\n nameParts = name.split('/');\n\n for (i = nameParts.length; i > 0; i -= 1) {\n nameSegment = nameParts.slice(0, i).join(\"/\");\n\n if (baseParts) {\n //Find the longest baseName segment match in the config.\n //So, do joins on the biggest to smallest lengths of baseParts.\n for (j = baseParts.length; j > 0; j -= 1) {\n mapValue = map[baseParts.slice(0, j).join('/')]; //baseName segment has config, find if it has one for\n //this name.\n\n if (mapValue) {\n mapValue = mapValue[nameSegment];\n\n if (mapValue) {\n //Match, update name to the new value.\n foundMap = mapValue;\n foundI = i;\n break;\n }\n }\n }\n }\n\n if (foundMap) {\n break;\n } //Check for a star map match, but just hold on to it,\n //if there is a shorter segment match later in a matching\n //config, then favor over this star map.\n\n\n if (!foundStarMap && starMap && starMap[nameSegment]) {\n foundStarMap = starMap[nameSegment];\n starI = i;\n }\n }\n\n if (!foundMap && foundStarMap) {\n foundMap = foundStarMap;\n foundI = starI;\n }\n\n if (foundMap) {\n nameParts.splice(0, foundI, foundMap);\n name = nameParts.join('/');\n }\n }\n\n return name;\n }\n\n function makeRequire(relName, forceSync) {\n return function () {\n //A version of a require function that passes a moduleName\n //value for items that may need to\n //look up paths relative to the moduleName\n var args = aps.call(arguments, 0); //If first arg is not require('string'), and there is only\n //one arg, it is the array form without a callback. Insert\n //a null so that the following concat is correct.\n\n if (typeof args[0] !== 'string' && args.length === 1) {\n args.push(null);\n }\n\n return _req.apply(undef, args.concat([relName, forceSync]));\n };\n }\n\n function makeNormalize(relName) {\n return function (name) {\n return normalize(name, relName);\n };\n }\n\n function makeLoad(depName) {\n return function (value) {\n defined[depName] = value;\n };\n }\n\n function callDep(name) {\n if (hasProp(waiting, name)) {\n var args = waiting[name];\n delete waiting[name];\n defining[name] = true;\n main.apply(undef, args);\n }\n\n if (!hasProp(defined, name) && !hasProp(defining, name)) {\n throw new Error('No ' + name);\n }\n\n return defined[name];\n } //Turns a plugin!resource to [plugin, resource]\n //with the plugin being undefined if the name\n //did not have a plugin prefix.\n\n\n function splitPrefix(name) {\n var prefix,\n index = name ? name.indexOf('!') : -1;\n\n if (index > -1) {\n prefix = name.substring(0, index);\n name = name.substring(index + 1, name.length);\n }\n\n return [prefix, name];\n } //Creates a parts array for a relName where first part is plugin ID,\n //second part is resource ID. Assumes relName has already been normalized.\n\n\n function makeRelParts(relName) {\n return relName ? splitPrefix(relName) : [];\n }\n /**\n * Makes a name map, normalizing the name, and using a plugin\n * for normalization if necessary. Grabs a ref to plugin\n * too, as an optimization.\n */\n\n\n makeMap = function makeMap(name, relParts) {\n var plugin,\n parts = splitPrefix(name),\n prefix = parts[0],\n relResourceName = relParts[1];\n name = parts[1];\n\n if (prefix) {\n prefix = normalize(prefix, relResourceName);\n plugin = callDep(prefix);\n } //Normalize according\n\n\n if (prefix) {\n if (plugin && plugin.normalize) {\n name = plugin.normalize(name, makeNormalize(relResourceName));\n } else {\n name = normalize(name, relResourceName);\n }\n } else {\n name = normalize(name, relResourceName);\n parts = splitPrefix(name);\n prefix = parts[0];\n name = parts[1];\n\n if (prefix) {\n plugin = callDep(prefix);\n }\n } //Using ridiculous property names for space reasons\n\n\n return {\n f: prefix ? prefix + '!' + name : name,\n //fullName\n n: name,\n pr: prefix,\n p: plugin\n };\n };\n\n function makeConfig(name) {\n return function () {\n return config && config.config && config.config[name] || {};\n };\n }\n\n handlers = {\n require: function require(name) {\n return makeRequire(name);\n },\n exports: function exports(name) {\n var e = defined[name];\n\n if (typeof e !== 'undefined') {\n return e;\n } else {\n return defined[name] = {};\n }\n },\n module: function module(name) {\n return {\n id: name,\n uri: '',\n exports: defined[name],\n config: makeConfig(name)\n };\n }\n };\n\n main = function main(name, deps, callback, relName) {\n var cjsModule,\n depName,\n ret,\n map,\n i,\n relParts,\n args = [],\n callbackType = _typeof(callback),\n usingExports; //Use name if no relName\n\n\n relName = relName || name;\n relParts = makeRelParts(relName); //Call the callback to define the module, if necessary.\n\n if (callbackType === 'undefined' || callbackType === 'function') {\n //Pull out the defined dependencies and pass the ordered\n //values to the callback.\n //Default to [require, exports, module] if no deps\n deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;\n\n for (i = 0; i < deps.length; i += 1) {\n map = makeMap(deps[i], relParts);\n depName = map.f; //Fast path CommonJS standard dependencies.\n\n if (depName === \"require\") {\n args[i] = handlers.require(name);\n } else if (depName === \"exports\") {\n //CommonJS module spec 1.1\n args[i] = handlers.exports(name);\n usingExports = true;\n } else if (depName === \"module\") {\n //CommonJS module spec 1.1\n cjsModule = args[i] = handlers.module(name);\n } else if (hasProp(defined, depName) || hasProp(waiting, depName) || hasProp(defining, depName)) {\n args[i] = callDep(depName);\n } else if (map.p) {\n map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});\n args[i] = defined[depName];\n } else {\n throw new Error(name + ' missing ' + depName);\n }\n }\n\n ret = callback ? callback.apply(defined[name], args) : undefined;\n\n if (name) {\n //If setting exports via \"module\" is in play,\n //favor that over return value and exports. After that,\n //favor a non-undefined return value over exports use.\n if (cjsModule && cjsModule.exports !== undef && cjsModule.exports !== defined[name]) {\n defined[name] = cjsModule.exports;\n } else if (ret !== undef || !usingExports) {\n //Use the return value from the function.\n defined[name] = ret;\n }\n }\n } else if (name) {\n //May just be an object definition for the module. Only\n //worry about defining if have a module name.\n defined[name] = callback;\n }\n };\n\n requirejs = require = _req = function req(deps, callback, relName, forceSync, alt) {\n if (typeof deps === \"string\") {\n if (handlers[deps]) {\n //callback in this case is really relName\n return handlers[deps](callback);\n } //Just return the module wanted. In this scenario, the\n //deps arg is the module name, and second arg (if passed)\n //is just the relName.\n //Normalize module name, if it contains . or ..\n\n\n return callDep(makeMap(deps, makeRelParts(callback)).f);\n } else if (!deps.splice) {\n //deps is a config object, not an array.\n config = deps;\n\n if (config.deps) {\n _req(config.deps, config.callback);\n }\n\n if (!callback) {\n return;\n }\n\n if (callback.splice) {\n //callback is an array, which means it is a dependency list.\n //Adjust args if there are dependencies\n deps = callback;\n callback = relName;\n relName = null;\n } else {\n deps = undef;\n }\n } //Support require(['a'])\n\n\n callback = callback || function () {}; //If relName is a function, it is an errback handler,\n //so remove it.\n\n\n if (typeof relName === 'function') {\n relName = forceSync;\n forceSync = alt;\n } //Simulate async callback;\n\n\n if (forceSync) {\n main(undef, deps, callback, relName);\n } else {\n //Using a non-zero value because of concern for what old browsers\n //do, and latest browsers \"upgrade\" to 4 if lower value is used:\n //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:\n //If want a value immediately, use require('id') instead -- something\n //that works in almond on the global level, but not guaranteed and\n //unlikely to work in other AMD implementations.\n setTimeout(function () {\n main(undef, deps, callback, relName);\n }, 4);\n }\n\n return _req;\n };\n /**\n * Just drops the config on the floor, but returns req in case\n * the config return value is used.\n */\n\n\n _req.config = function (cfg) {\n return _req(cfg);\n };\n /**\n * Expose module registry for debugging and tooling\n */\n\n\n requirejs._defined = defined;\n\n define = function define(name, deps, callback) {\n if (typeof name !== 'string') {\n throw new Error('See almond README: incorrect module build, no module name');\n } //This module may not have dependencies\n\n\n if (!deps.splice) {\n //deps is not an array, so probably means\n //an object literal or factory function for\n //the value. Adjust args.\n callback = deps;\n deps = [];\n }\n\n if (!hasProp(defined, name) && !hasProp(waiting, name)) {\n waiting[name] = [name, deps, callback];\n }\n };\n\n define.amd = {\n jQuery: true\n };\n })();\n\n S2.requirejs = requirejs;\n S2.require = require;\n S2.define = define;\n }\n })();\n\n S2.define(\"almond\", function () {});\n /* global jQuery:false, $:false */\n\n S2.define('jquery', [], function () {\n var _$ = jQuery || $;\n\n if (_$ == null && console && console.error) {\n console.error('Select2: An instance of jQuery or a jQuery-compatible library was not ' + 'found. Make sure that you are including jQuery before Select2 on your ' + 'web page.');\n }\n\n return _$;\n });\n S2.define('select2/utils', ['jquery'], function ($) {\n var Utils = {};\n\n Utils.Extend = function (ChildClass, SuperClass) {\n var __hasProp = {}.hasOwnProperty;\n\n function BaseConstructor() {\n this.constructor = ChildClass;\n }\n\n for (var key in SuperClass) {\n if (__hasProp.call(SuperClass, key)) {\n ChildClass[key] = SuperClass[key];\n }\n }\n\n BaseConstructor.prototype = SuperClass.prototype;\n ChildClass.prototype = new BaseConstructor();\n ChildClass.__super__ = SuperClass.prototype;\n return ChildClass;\n };\n\n function getMethods(theClass) {\n var proto = theClass.prototype;\n var methods = [];\n\n for (var methodName in proto) {\n var m = proto[methodName];\n\n if (typeof m !== 'function') {\n continue;\n }\n\n if (methodName === 'constructor') {\n continue;\n }\n\n methods.push(methodName);\n }\n\n return methods;\n }\n\n Utils.Decorate = function (SuperClass, DecoratorClass) {\n var decoratedMethods = getMethods(DecoratorClass);\n var superMethods = getMethods(SuperClass);\n\n function DecoratedClass() {\n var unshift = Array.prototype.unshift;\n var argCount = DecoratorClass.prototype.constructor.length;\n var calledConstructor = SuperClass.prototype.constructor;\n\n if (argCount > 0) {\n unshift.call(arguments, SuperClass.prototype.constructor);\n calledConstructor = DecoratorClass.prototype.constructor;\n }\n\n calledConstructor.apply(this, arguments);\n }\n\n DecoratorClass.displayName = SuperClass.displayName;\n\n function ctr() {\n this.constructor = DecoratedClass;\n }\n\n DecoratedClass.prototype = new ctr();\n\n for (var m = 0; m < superMethods.length; m++) {\n var superMethod = superMethods[m];\n DecoratedClass.prototype[superMethod] = SuperClass.prototype[superMethod];\n }\n\n var calledMethod = function calledMethod(methodName) {\n // Stub out the original method if it's not decorating an actual method\n var originalMethod = function originalMethod() {};\n\n if (methodName in DecoratedClass.prototype) {\n originalMethod = DecoratedClass.prototype[methodName];\n }\n\n var decoratedMethod = DecoratorClass.prototype[methodName];\n return function () {\n var unshift = Array.prototype.unshift;\n unshift.call(arguments, originalMethod);\n return decoratedMethod.apply(this, arguments);\n };\n };\n\n for (var d = 0; d < decoratedMethods.length; d++) {\n var decoratedMethod = decoratedMethods[d];\n DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);\n }\n\n return DecoratedClass;\n };\n\n var Observable = function Observable() {\n this.listeners = {};\n };\n\n Observable.prototype.on = function (event, callback) {\n this.listeners = this.listeners || {};\n\n if (event in this.listeners) {\n this.listeners[event].push(callback);\n } else {\n this.listeners[event] = [callback];\n }\n };\n\n Observable.prototype.trigger = function (event) {\n var slice = Array.prototype.slice;\n var params = slice.call(arguments, 1);\n this.listeners = this.listeners || {}; // Params should always come in as an array\n\n if (params == null) {\n params = [];\n } // If there are no arguments to the event, use a temporary object\n\n\n if (params.length === 0) {\n params.push({});\n } // Set the `_type` of the first object to the event\n\n\n params[0]._type = event;\n\n if (event in this.listeners) {\n this.invoke(this.listeners[event], slice.call(arguments, 1));\n }\n\n if ('*' in this.listeners) {\n this.invoke(this.listeners['*'], arguments);\n }\n };\n\n Observable.prototype.invoke = function (listeners, params) {\n for (var i = 0, len = listeners.length; i < len; i++) {\n listeners[i].apply(this, params);\n }\n };\n\n Utils.Observable = Observable;\n\n Utils.generateChars = function (length) {\n var chars = '';\n\n for (var i = 0; i < length; i++) {\n var randomChar = Math.floor(Math.random() * 36);\n chars += randomChar.toString(36);\n }\n\n return chars;\n };\n\n Utils.bind = function (func, context) {\n return function () {\n func.apply(context, arguments);\n };\n };\n\n Utils._convertData = function (data) {\n for (var originalKey in data) {\n var keys = originalKey.split('-');\n var dataLevel = data;\n\n if (keys.length === 1) {\n continue;\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]; // Lowercase the first letter\n // By default, dash-separated becomes camelCase\n\n key = key.substring(0, 1).toLowerCase() + key.substring(1);\n\n if (!(key in dataLevel)) {\n dataLevel[key] = {};\n }\n\n if (k == keys.length - 1) {\n dataLevel[key] = data[originalKey];\n }\n\n dataLevel = dataLevel[key];\n }\n\n delete data[originalKey];\n }\n\n return data;\n };\n\n Utils.hasScroll = function (index, el) {\n // Adapted from the function created by @ShadowScripter\n // and adapted by @BillBarry on the Stack Exchange Code Review website.\n // The original code can be found at\n // http://codereview.stackexchange.com/q/13338\n // and was designed to be used with the Sizzle selector engine.\n var $el = $(el);\n var overflowX = el.style.overflowX;\n var overflowY = el.style.overflowY; //Check both x and y declarations\n\n if (overflowX === overflowY && (overflowY === 'hidden' || overflowY === 'visible')) {\n return false;\n }\n\n if (overflowX === 'scroll' || overflowY === 'scroll') {\n return true;\n }\n\n return $el.innerHeight() < el.scrollHeight || $el.innerWidth() < el.scrollWidth;\n };\n\n Utils.escapeMarkup = function (markup) {\n var replaceMap = {\n '\\\\': '\',\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': ''',\n '/': '/'\n }; // Do not try to escape the markup if it's not a string\n\n if (typeof markup !== 'string') {\n return markup;\n }\n\n return String(markup).replace(/[&<>\"'\\/\\\\]/g, function (match) {\n return replaceMap[match];\n });\n }; // Cache objects in Utils.__cache instead of $.data (see #4346)\n\n\n Utils.__cache = {};\n var id = 0;\n\n Utils.GetUniqueElementId = function (element) {\n // Get a unique element Id. If element has no id,\n // creates a new unique number, stores it in the id\n // attribute and returns the new id with a prefix.\n // If an id already exists, it simply returns it with a prefix.\n var select2Id = element.getAttribute('data-select2-id');\n\n if (select2Id != null) {\n return select2Id;\n } // If element has id, use it.\n\n\n if (element.id) {\n select2Id = 'select2-data-' + element.id;\n } else {\n select2Id = 'select2-data-' + (++id).toString() + '-' + Utils.generateChars(4);\n }\n\n element.setAttribute('data-select2-id', select2Id);\n return select2Id;\n };\n\n Utils.StoreData = function (element, name, value) {\n // Stores an item in the cache for a specified element.\n // name is the cache key.\n var id = Utils.GetUniqueElementId(element);\n\n if (!Utils.__cache[id]) {\n Utils.__cache[id] = {};\n }\n\n Utils.__cache[id][name] = value;\n };\n\n Utils.GetData = function (element, name) {\n // Retrieves a value from the cache by its key (name)\n // name is optional. If no name specified, return\n // all cache items for the specified element.\n // and for a specified element.\n var id = Utils.GetUniqueElementId(element);\n\n if (name) {\n if (Utils.__cache[id]) {\n if (Utils.__cache[id][name] != null) {\n return Utils.__cache[id][name];\n }\n\n return $(element).data(name); // Fallback to HTML5 data attribs.\n }\n\n return $(element).data(name); // Fallback to HTML5 data attribs.\n } else {\n return Utils.__cache[id];\n }\n };\n\n Utils.RemoveData = function (element) {\n // Removes all cached items for a specified element.\n var id = Utils.GetUniqueElementId(element);\n\n if (Utils.__cache[id] != null) {\n delete Utils.__cache[id];\n }\n\n element.removeAttribute('data-select2-id');\n };\n\n Utils.copyNonInternalCssClasses = function (dest, src) {\n var classes;\n var destinationClasses = dest.getAttribute('class').trim().split(/\\s+/);\n destinationClasses = destinationClasses.filter(function (clazz) {\n // Save all Select2 classes\n return clazz.indexOf('select2-') === 0;\n });\n var sourceClasses = src.getAttribute('class').trim().split(/\\s+/);\n sourceClasses = sourceClasses.filter(function (clazz) {\n // Only copy non-Select2 classes\n return clazz.indexOf('select2-') !== 0;\n });\n var replacements = destinationClasses.concat(sourceClasses);\n dest.setAttribute('class', replacements.join(' '));\n };\n\n return Utils;\n });\n S2.define('select2/results', ['jquery', './utils'], function ($, Utils) {\n function Results($element, options, dataAdapter) {\n this.$element = $element;\n this.data = dataAdapter;\n this.options = options;\n\n Results.__super__.constructor.call(this);\n }\n\n Utils.Extend(Results, Utils.Observable);\n\n Results.prototype.render = function () {\n var $results = $('
        ');\n\n if (this.options.get('multiple')) {\n $results.attr('aria-multiselectable', 'true');\n }\n\n this.$results = $results;\n return $results;\n };\n\n Results.prototype.clear = function () {\n this.$results.empty();\n };\n\n Results.prototype.displayMessage = function (params) {\n var escapeMarkup = this.options.get('escapeMarkup');\n this.clear();\n this.hideLoading();\n var $message = $('
      • ');\n var message = this.options.get('translations').get(params.message);\n $message.append(escapeMarkup(message(params.args)));\n $message[0].className += ' select2-results__message';\n this.$results.append($message);\n };\n\n Results.prototype.hideMessages = function () {\n this.$results.find('.select2-results__message').remove();\n };\n\n Results.prototype.append = function (data) {\n this.hideLoading();\n var $options = [];\n\n if (data.results == null || data.results.length === 0) {\n if (this.$results.children().length === 0) {\n this.trigger('results:message', {\n message: 'noResults'\n });\n }\n\n return;\n }\n\n data.results = this.sort(data.results);\n\n for (var d = 0; d < data.results.length; d++) {\n var item = data.results[d];\n var $option = this.option(item);\n $options.push($option);\n }\n\n this.$results.append($options);\n };\n\n Results.prototype.position = function ($results, $dropdown) {\n var $resultsContainer = $dropdown.find('.select2-results');\n $resultsContainer.append($results);\n };\n\n Results.prototype.sort = function (data) {\n var sorter = this.options.get('sorter');\n return sorter(data);\n };\n\n Results.prototype.highlightFirstItem = function () {\n var $options = this.$results.find('.select2-results__option--selectable');\n var $selected = $options.filter('.select2-results__option--selected'); // Check if there are any selected options\n\n if ($selected.length > 0) {\n // If there are selected options, highlight the first\n $selected.first().trigger('mouseenter');\n } else {\n // If there are no selected options, highlight the first option\n // in the dropdown\n $options.first().trigger('mouseenter');\n }\n\n this.ensureHighlightVisible();\n };\n\n Results.prototype.setClasses = function () {\n var self = this;\n this.data.current(function (selected) {\n var selectedIds = selected.map(function (s) {\n return s.id.toString();\n });\n var $options = self.$results.find('.select2-results__option--selectable');\n $options.each(function () {\n var $option = $(this);\n var item = Utils.GetData(this, 'data'); // id needs to be converted to a string when comparing\n\n var id = '' + item.id;\n\n if (item.element != null && item.element.selected || item.element == null && selectedIds.indexOf(id) > -1) {\n this.classList.add('select2-results__option--selected');\n $option.attr('aria-selected', 'true');\n } else {\n this.classList.remove('select2-results__option--selected');\n $option.attr('aria-selected', 'false');\n }\n });\n });\n };\n\n Results.prototype.showLoading = function (params) {\n this.hideLoading();\n var loadingMore = this.options.get('translations').get('searching');\n var loading = {\n disabled: true,\n loading: true,\n text: loadingMore(params)\n };\n var $loading = this.option(loading);\n $loading.className += ' loading-results';\n this.$results.prepend($loading);\n };\n\n Results.prototype.hideLoading = function () {\n this.$results.find('.loading-results').remove();\n };\n\n Results.prototype.option = function (data) {\n var option = document.createElement('li');\n option.classList.add('select2-results__option');\n option.classList.add('select2-results__option--selectable');\n var attrs = {\n 'role': 'option'\n };\n var matches = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;\n\n if (data.element != null && matches.call(data.element, ':disabled') || data.element == null && data.disabled) {\n attrs['aria-disabled'] = 'true';\n option.classList.remove('select2-results__option--selectable');\n option.classList.add('select2-results__option--disabled');\n }\n\n if (data.id == null) {\n option.classList.remove('select2-results__option--selectable');\n }\n\n if (data._resultId != null) {\n option.id = data._resultId;\n }\n\n if (data.title) {\n option.title = data.title;\n }\n\n if (data.children) {\n attrs.role = 'group';\n attrs['aria-label'] = data.text;\n option.classList.remove('select2-results__option--selectable');\n option.classList.add('select2-results__option--group');\n }\n\n for (var attr in attrs) {\n var val = attrs[attr];\n option.setAttribute(attr, val);\n }\n\n if (data.children) {\n var $option = $(option);\n var label = document.createElement('strong');\n label.className = 'select2-results__group';\n this.template(data, label);\n var $children = [];\n\n for (var c = 0; c < data.children.length; c++) {\n var child = data.children[c];\n var $child = this.option(child);\n $children.push($child);\n }\n\n var $childrenContainer = $('
          ', {\n 'class': 'select2-results__options select2-results__options--nested',\n 'role': 'none'\n });\n $childrenContainer.append($children);\n $option.append(label);\n $option.append($childrenContainer);\n } else {\n this.template(data, option);\n }\n\n Utils.StoreData(option, 'data', data);\n return option;\n };\n\n Results.prototype.bind = function (container, $container) {\n var self = this;\n var id = container.id + '-results';\n this.$results.attr('id', id);\n container.on('results:all', function (params) {\n self.clear();\n self.append(params.data);\n\n if (container.isOpen()) {\n self.setClasses();\n self.highlightFirstItem();\n }\n });\n container.on('results:append', function (params) {\n self.append(params.data);\n\n if (container.isOpen()) {\n self.setClasses();\n }\n });\n container.on('query', function (params) {\n self.hideMessages();\n self.showLoading(params);\n });\n container.on('select', function () {\n if (!container.isOpen()) {\n return;\n }\n\n self.setClasses();\n\n if (self.options.get('scrollAfterSelect')) {\n self.highlightFirstItem();\n }\n });\n container.on('unselect', function () {\n if (!container.isOpen()) {\n return;\n }\n\n self.setClasses();\n\n if (self.options.get('scrollAfterSelect')) {\n self.highlightFirstItem();\n }\n });\n container.on('open', function () {\n // When the dropdown is open, aria-expended=\"true\"\n self.$results.attr('aria-expanded', 'true');\n self.$results.attr('aria-hidden', 'false');\n self.setClasses();\n self.ensureHighlightVisible();\n });\n container.on('close', function () {\n // When the dropdown is closed, aria-expended=\"false\"\n self.$results.attr('aria-expanded', 'false');\n self.$results.attr('aria-hidden', 'true');\n self.$results.removeAttr('aria-activedescendant');\n });\n container.on('results:toggle', function () {\n var $highlighted = self.getHighlightedResults();\n\n if ($highlighted.length === 0) {\n return;\n }\n\n $highlighted.trigger('mouseup');\n });\n container.on('results:select', function () {\n var $highlighted = self.getHighlightedResults();\n\n if ($highlighted.length === 0) {\n return;\n }\n\n var data = Utils.GetData($highlighted[0], 'data');\n\n if ($highlighted.hasClass('select2-results__option--selected')) {\n self.trigger('close', {});\n } else {\n self.trigger('select', {\n data: data\n });\n }\n });\n container.on('results:previous', function () {\n var $highlighted = self.getHighlightedResults();\n var $options = self.$results.find('.select2-results__option--selectable');\n var currentIndex = $options.index($highlighted); // If we are already at the top, don't move further\n // If no options, currentIndex will be -1\n\n if (currentIndex <= 0) {\n return;\n }\n\n var nextIndex = currentIndex - 1; // If none are highlighted, highlight the first\n\n if ($highlighted.length === 0) {\n nextIndex = 0;\n }\n\n var $next = $options.eq(nextIndex);\n $next.trigger('mouseenter');\n var currentOffset = self.$results.offset().top;\n var nextTop = $next.offset().top;\n var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);\n\n if (nextIndex === 0) {\n self.$results.scrollTop(0);\n } else if (nextTop - currentOffset < 0) {\n self.$results.scrollTop(nextOffset);\n }\n });\n container.on('results:next', function () {\n var $highlighted = self.getHighlightedResults();\n var $options = self.$results.find('.select2-results__option--selectable');\n var currentIndex = $options.index($highlighted);\n var nextIndex = currentIndex + 1; // If we are at the last option, stay there\n\n if (nextIndex >= $options.length) {\n return;\n }\n\n var $next = $options.eq(nextIndex);\n $next.trigger('mouseenter');\n var currentOffset = self.$results.offset().top + self.$results.outerHeight(false);\n var nextBottom = $next.offset().top + $next.outerHeight(false);\n var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;\n\n if (nextIndex === 0) {\n self.$results.scrollTop(0);\n } else if (nextBottom > currentOffset) {\n self.$results.scrollTop(nextOffset);\n }\n });\n container.on('results:focus', function (params) {\n params.element[0].classList.add('select2-results__option--highlighted');\n params.element[0].setAttribute('aria-selected', 'true');\n });\n container.on('results:message', function (params) {\n self.displayMessage(params);\n });\n\n if ($.fn.mousewheel) {\n this.$results.on('mousewheel', function (e) {\n var top = self.$results.scrollTop();\n var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;\n var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;\n var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();\n\n if (isAtTop) {\n self.$results.scrollTop(0);\n e.preventDefault();\n e.stopPropagation();\n } else if (isAtBottom) {\n self.$results.scrollTop(self.$results.get(0).scrollHeight - self.$results.height());\n e.preventDefault();\n e.stopPropagation();\n }\n });\n }\n\n this.$results.on('mouseup', '.select2-results__option--selectable', function (evt) {\n var $this = $(this);\n var data = Utils.GetData(this, 'data');\n\n if ($this.hasClass('select2-results__option--selected')) {\n if (self.options.get('multiple')) {\n self.trigger('unselect', {\n originalEvent: evt,\n data: data\n });\n } else {\n self.trigger('close', {});\n }\n\n return;\n }\n\n self.trigger('select', {\n originalEvent: evt,\n data: data\n });\n });\n this.$results.on('mouseenter', '.select2-results__option--selectable', function (evt) {\n var data = Utils.GetData(this, 'data');\n self.getHighlightedResults().removeClass('select2-results__option--highlighted').attr('aria-selected', 'false');\n self.trigger('results:focus', {\n data: data,\n element: $(this)\n });\n });\n };\n\n Results.prototype.getHighlightedResults = function () {\n var $highlighted = this.$results.find('.select2-results__option--highlighted');\n return $highlighted;\n };\n\n Results.prototype.destroy = function () {\n this.$results.remove();\n };\n\n Results.prototype.ensureHighlightVisible = function () {\n var $highlighted = this.getHighlightedResults();\n\n if ($highlighted.length === 0) {\n return;\n }\n\n var $options = this.$results.find('.select2-results__option--selectable');\n var currentIndex = $options.index($highlighted);\n var currentOffset = this.$results.offset().top;\n var nextTop = $highlighted.offset().top;\n var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);\n var offsetDelta = nextTop - currentOffset;\n nextOffset -= $highlighted.outerHeight(false) * 2;\n\n if (currentIndex <= 2) {\n this.$results.scrollTop(0);\n } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {\n this.$results.scrollTop(nextOffset);\n }\n };\n\n Results.prototype.template = function (result, container) {\n var template = this.options.get('templateResult');\n var escapeMarkup = this.options.get('escapeMarkup');\n var content = template(result, container);\n\n if (content == null) {\n container.style.display = 'none';\n } else if (typeof content === 'string') {\n container.innerHTML = escapeMarkup(content);\n } else {\n $(container).append(content);\n }\n };\n\n return Results;\n });\n S2.define('select2/keys', [], function () {\n var KEYS = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n ESC: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n };\n return KEYS;\n });\n S2.define('select2/selection/base', ['jquery', '../utils', '../keys'], function ($, Utils, KEYS) {\n function BaseSelection($element, options) {\n this.$element = $element;\n this.options = options;\n\n BaseSelection.__super__.constructor.call(this);\n }\n\n Utils.Extend(BaseSelection, Utils.Observable);\n\n BaseSelection.prototype.render = function () {\n var $selection = $('' + '');\n this._tabindex = 0;\n\n if (Utils.GetData(this.$element[0], 'old-tabindex') != null) {\n this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex');\n } else if (this.$element.attr('tabindex') != null) {\n this._tabindex = this.$element.attr('tabindex');\n }\n\n $selection.attr('title', this.$element.attr('title'));\n $selection.attr('tabindex', this._tabindex);\n $selection.attr('aria-disabled', 'false');\n this.$selection = $selection;\n return $selection;\n };\n\n BaseSelection.prototype.bind = function (container, $container) {\n var self = this;\n var resultsId = container.id + '-results';\n this.container = container;\n this.$selection.on('focus', function (evt) {\n self.trigger('focus', evt);\n });\n this.$selection.on('blur', function (evt) {\n self._handleBlur(evt);\n });\n this.$selection.on('keydown', function (evt) {\n self.trigger('keypress', evt);\n\n if (evt.which === KEYS.SPACE) {\n evt.preventDefault();\n }\n });\n container.on('results:focus', function (params) {\n self.$selection.attr('aria-activedescendant', params.data._resultId);\n });\n container.on('selection:update', function (params) {\n self.update(params.data);\n });\n container.on('open', function () {\n // When the dropdown is open, aria-expanded=\"true\"\n self.$selection.attr('aria-expanded', 'true');\n self.$selection.attr('aria-owns', resultsId);\n\n self._attachCloseHandler(container);\n });\n container.on('close', function () {\n // When the dropdown is closed, aria-expanded=\"false\"\n self.$selection.attr('aria-expanded', 'false');\n self.$selection.removeAttr('aria-activedescendant');\n self.$selection.removeAttr('aria-owns');\n self.$selection.trigger('focus');\n\n self._detachCloseHandler(container);\n });\n container.on('enable', function () {\n self.$selection.attr('tabindex', self._tabindex);\n self.$selection.attr('aria-disabled', 'false');\n });\n container.on('disable', function () {\n self.$selection.attr('tabindex', '-1');\n self.$selection.attr('aria-disabled', 'true');\n });\n };\n\n BaseSelection.prototype._handleBlur = function (evt) {\n var self = this; // This needs to be delayed as the active element is the body when the tab\n // key is pressed, possibly along with others.\n\n window.setTimeout(function () {\n // Don't trigger `blur` if the focus is still in the selection\n if (document.activeElement == self.$selection[0] || $.contains(self.$selection[0], document.activeElement)) {\n return;\n }\n\n self.trigger('blur', evt);\n }, 1);\n };\n\n BaseSelection.prototype._attachCloseHandler = function (container) {\n $(document.body).on('mousedown.select2.' + container.id, function (e) {\n var $target = $(e.target);\n var $select = $target.closest('.select2');\n var $all = $('.select2.select2-container--open');\n $all.each(function () {\n if (this == $select[0]) {\n return;\n }\n\n var $element = Utils.GetData(this, 'element');\n $element.select2('close');\n });\n });\n };\n\n BaseSelection.prototype._detachCloseHandler = function (container) {\n $(document.body).off('mousedown.select2.' + container.id);\n };\n\n BaseSelection.prototype.position = function ($selection, $container) {\n var $selectionContainer = $container.find('.selection');\n $selectionContainer.append($selection);\n };\n\n BaseSelection.prototype.destroy = function () {\n this._detachCloseHandler(this.container);\n };\n\n BaseSelection.prototype.update = function (data) {\n throw new Error('The `update` method must be defined in child classes.');\n };\n /**\n * Helper method to abstract the \"enabled\" (not \"disabled\") state of this\n * object.\n *\n * @return {true} if the instance is not disabled.\n * @return {false} if the instance is disabled.\n */\n\n\n BaseSelection.prototype.isEnabled = function () {\n return !this.isDisabled();\n };\n /**\n * Helper method to abstract the \"disabled\" state of this object.\n *\n * @return {true} if the disabled option is true.\n * @return {false} if the disabled option is false.\n */\n\n\n BaseSelection.prototype.isDisabled = function () {\n return this.options.get('disabled');\n };\n\n return BaseSelection;\n });\n S2.define('select2/selection/single', ['jquery', './base', '../utils', '../keys'], function ($, BaseSelection, Utils, KEYS) {\n function SingleSelection() {\n SingleSelection.__super__.constructor.apply(this, arguments);\n }\n\n Utils.Extend(SingleSelection, BaseSelection);\n\n SingleSelection.prototype.render = function () {\n var $selection = SingleSelection.__super__.render.call(this);\n\n $selection[0].classList.add('select2-selection--single');\n $selection.html('' + '' + '' + '');\n return $selection;\n };\n\n SingleSelection.prototype.bind = function (container, $container) {\n var self = this;\n\n SingleSelection.__super__.bind.apply(this, arguments);\n\n var id = container.id + '-container';\n this.$selection.find('.select2-selection__rendered').attr('id', id).attr('role', 'textbox').attr('aria-readonly', 'true');\n this.$selection.attr('aria-labelledby', id);\n this.$selection.attr('aria-controls', id);\n this.$selection.on('mousedown', function (evt) {\n // Only respond to left clicks\n if (evt.which !== 1) {\n return;\n }\n\n self.trigger('toggle', {\n originalEvent: evt\n });\n });\n this.$selection.on('focus', function (evt) {// User focuses on the container\n });\n this.$selection.on('blur', function (evt) {// User exits the container\n });\n container.on('focus', function (evt) {\n if (!container.isOpen()) {\n self.$selection.trigger('focus');\n }\n });\n };\n\n SingleSelection.prototype.clear = function () {\n var $rendered = this.$selection.find('.select2-selection__rendered');\n $rendered.empty();\n $rendered.removeAttr('title'); // clear tooltip on empty\n };\n\n SingleSelection.prototype.display = function (data, container) {\n var template = this.options.get('templateSelection');\n var escapeMarkup = this.options.get('escapeMarkup');\n return escapeMarkup(template(data, container));\n };\n\n SingleSelection.prototype.selectionContainer = function () {\n return $('');\n };\n\n SingleSelection.prototype.update = function (data) {\n if (data.length === 0) {\n this.clear();\n return;\n }\n\n var selection = data[0];\n var $rendered = this.$selection.find('.select2-selection__rendered');\n var formatted = this.display(selection, $rendered);\n $rendered.empty().append(formatted);\n var title = selection.title || selection.text;\n\n if (title) {\n $rendered.attr('title', title);\n } else {\n $rendered.removeAttr('title');\n }\n };\n\n return SingleSelection;\n });\n S2.define('select2/selection/multiple', ['jquery', './base', '../utils'], function ($, BaseSelection, Utils) {\n function MultipleSelection($element, options) {\n MultipleSelection.__super__.constructor.apply(this, arguments);\n }\n\n Utils.Extend(MultipleSelection, BaseSelection);\n\n MultipleSelection.prototype.render = function () {\n var $selection = MultipleSelection.__super__.render.call(this);\n\n $selection[0].classList.add('select2-selection--multiple');\n $selection.html('
            ');\n return $selection;\n };\n\n MultipleSelection.prototype.bind = function (container, $container) {\n var self = this;\n\n MultipleSelection.__super__.bind.apply(this, arguments);\n\n var id = container.id + '-container';\n this.$selection.find('.select2-selection__rendered').attr('id', id);\n this.$selection.on('click', function (evt) {\n self.trigger('toggle', {\n originalEvent: evt\n });\n });\n this.$selection.on('click', '.select2-selection__choice__remove', function (evt) {\n // Ignore the event if it is disabled\n if (self.isDisabled()) {\n return;\n }\n\n var $remove = $(this);\n var $selection = $remove.parent();\n var data = Utils.GetData($selection[0], 'data');\n self.trigger('unselect', {\n originalEvent: evt,\n data: data\n });\n });\n this.$selection.on('keydown', '.select2-selection__choice__remove', function (evt) {\n // Ignore the event if it is disabled\n if (self.isDisabled()) {\n return;\n }\n\n evt.stopPropagation();\n });\n };\n\n MultipleSelection.prototype.clear = function () {\n var $rendered = this.$selection.find('.select2-selection__rendered');\n $rendered.empty();\n $rendered.removeAttr('title');\n };\n\n MultipleSelection.prototype.display = function (data, container) {\n var template = this.options.get('templateSelection');\n var escapeMarkup = this.options.get('escapeMarkup');\n return escapeMarkup(template(data, container));\n };\n\n MultipleSelection.prototype.selectionContainer = function () {\n var $container = $('
          • ' + '' + '' + '
          • ');\n return $container;\n };\n\n MultipleSelection.prototype.update = function (data) {\n this.clear();\n\n if (data.length === 0) {\n return;\n }\n\n var $selections = [];\n var selectionIdPrefix = this.$selection.find('.select2-selection__rendered').attr('id') + '-choice-';\n\n for (var d = 0; d < data.length; d++) {\n var selection = data[d];\n var $selection = this.selectionContainer();\n var formatted = this.display(selection, $selection);\n var selectionId = selectionIdPrefix + Utils.generateChars(4) + '-';\n\n if (selection.id) {\n selectionId += selection.id;\n } else {\n selectionId += Utils.generateChars(4);\n }\n\n $selection.find('.select2-selection__choice__display').append(formatted).attr('id', selectionId);\n var title = selection.title || selection.text;\n\n if (title) {\n $selection.attr('title', title);\n }\n\n var removeItem = this.options.get('translations').get('removeItem');\n var $remove = $selection.find('.select2-selection__choice__remove');\n $remove.attr('title', removeItem());\n $remove.attr('aria-label', removeItem());\n $remove.attr('aria-describedby', selectionId);\n Utils.StoreData($selection[0], 'data', selection);\n $selections.push($selection);\n }\n\n var $rendered = this.$selection.find('.select2-selection__rendered');\n $rendered.append($selections);\n };\n\n return MultipleSelection;\n });\n S2.define('select2/selection/placeholder', [], function () {\n function Placeholder(decorated, $element, options) {\n this.placeholder = this.normalizePlaceholder(options.get('placeholder'));\n decorated.call(this, $element, options);\n }\n\n Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {\n if (typeof placeholder === 'string') {\n placeholder = {\n id: '',\n text: placeholder\n };\n }\n\n return placeholder;\n };\n\n Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {\n var $placeholder = this.selectionContainer();\n $placeholder.html(this.display(placeholder));\n $placeholder[0].classList.add('select2-selection__placeholder');\n $placeholder[0].classList.remove('select2-selection__choice');\n var placeholderTitle = placeholder.title || placeholder.text || $placeholder.text();\n this.$selection.find('.select2-selection__rendered').attr('title', placeholderTitle);\n return $placeholder;\n };\n\n Placeholder.prototype.update = function (decorated, data) {\n var singlePlaceholder = data.length == 1 && data[0].id != this.placeholder.id;\n var multipleSelections = data.length > 1;\n\n if (multipleSelections || singlePlaceholder) {\n return decorated.call(this, data);\n }\n\n this.clear();\n var $placeholder = this.createPlaceholder(this.placeholder);\n this.$selection.find('.select2-selection__rendered').append($placeholder);\n };\n\n return Placeholder;\n });\n S2.define('select2/selection/allowClear', ['jquery', '../keys', '../utils'], function ($, KEYS, Utils) {\n function AllowClear() {}\n\n AllowClear.prototype.bind = function (decorated, container, $container) {\n var self = this;\n decorated.call(this, container, $container);\n\n if (this.placeholder == null) {\n if (this.options.get('debug') && window.console && console.error) {\n console.error('Select2: The `allowClear` option should be used in combination ' + 'with the `placeholder` option.');\n }\n }\n\n this.$selection.on('mousedown', '.select2-selection__clear', function (evt) {\n self._handleClear(evt);\n });\n container.on('keypress', function (evt) {\n self._handleKeyboardClear(evt, container);\n });\n };\n\n AllowClear.prototype._handleClear = function (_, evt) {\n // Ignore the event if it is disabled\n if (this.isDisabled()) {\n return;\n }\n\n var $clear = this.$selection.find('.select2-selection__clear'); // Ignore the event if nothing has been selected\n\n if ($clear.length === 0) {\n return;\n }\n\n evt.stopPropagation();\n var data = Utils.GetData($clear[0], 'data');\n var previousVal = this.$element.val();\n this.$element.val(this.placeholder.id);\n var unselectData = {\n data: data\n };\n this.trigger('clear', unselectData);\n\n if (unselectData.prevented) {\n this.$element.val(previousVal);\n return;\n }\n\n for (var d = 0; d < data.length; d++) {\n unselectData = {\n data: data[d]\n }; // Trigger the `unselect` event, so people can prevent it from being\n // cleared.\n\n this.trigger('unselect', unselectData); // If the event was prevented, don't clear it out.\n\n if (unselectData.prevented) {\n this.$element.val(previousVal);\n return;\n }\n }\n\n this.$element.trigger('input').trigger('change');\n this.trigger('toggle', {});\n };\n\n AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {\n if (container.isOpen()) {\n return;\n }\n\n if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {\n this._handleClear(evt);\n }\n };\n\n AllowClear.prototype.update = function (decorated, data) {\n decorated.call(this, data);\n this.$selection.find('.select2-selection__clear').remove();\n this.$selection[0].classList.remove('select2-selection--clearable');\n\n if (this.$selection.find('.select2-selection__placeholder').length > 0 || data.length === 0) {\n return;\n }\n\n var selectionId = this.$selection.find('.select2-selection__rendered').attr('id');\n var removeAll = this.options.get('translations').get('removeAllItems');\n var $remove = $('');\n $remove.attr('title', removeAll());\n $remove.attr('aria-label', removeAll());\n $remove.attr('aria-describedby', selectionId);\n Utils.StoreData($remove[0], 'data', data);\n this.$selection.prepend($remove);\n this.$selection[0].classList.add('select2-selection--clearable');\n };\n\n return AllowClear;\n });\n S2.define('select2/selection/search', ['jquery', '../utils', '../keys'], function ($, Utils, KEYS) {\n function Search(decorated, $element, options) {\n decorated.call(this, $element, options);\n }\n\n Search.prototype.render = function (decorated) {\n var searchLabel = this.options.get('translations').get('search');\n var $search = $('' + '' + '');\n this.$searchContainer = $search;\n this.$search = $search.find('textarea');\n this.$search.prop('autocomplete', this.options.get('autocomplete'));\n this.$search.attr('aria-label', searchLabel());\n var $rendered = decorated.call(this);\n\n this._transferTabIndex();\n\n $rendered.append(this.$searchContainer);\n return $rendered;\n };\n\n Search.prototype.bind = function (decorated, container, $container) {\n var self = this;\n var resultsId = container.id + '-results';\n var selectionId = container.id + '-container';\n decorated.call(this, container, $container);\n self.$search.attr('aria-describedby', selectionId);\n container.on('open', function () {\n self.$search.attr('aria-controls', resultsId);\n self.$search.trigger('focus');\n });\n container.on('close', function () {\n self.$search.val('');\n self.resizeSearch();\n self.$search.removeAttr('aria-controls');\n self.$search.removeAttr('aria-activedescendant');\n self.$search.trigger('focus');\n });\n container.on('enable', function () {\n self.$search.prop('disabled', false);\n\n self._transferTabIndex();\n });\n container.on('disable', function () {\n self.$search.prop('disabled', true);\n });\n container.on('focus', function (evt) {\n self.$search.trigger('focus');\n });\n container.on('results:focus', function (params) {\n if (params.data._resultId) {\n self.$search.attr('aria-activedescendant', params.data._resultId);\n } else {\n self.$search.removeAttr('aria-activedescendant');\n }\n });\n this.$selection.on('focusin', '.select2-search--inline', function (evt) {\n self.trigger('focus', evt);\n });\n this.$selection.on('focusout', '.select2-search--inline', function (evt) {\n self._handleBlur(evt);\n });\n this.$selection.on('keydown', '.select2-search--inline', function (evt) {\n evt.stopPropagation();\n self.trigger('keypress', evt);\n self._keyUpPrevented = evt.isDefaultPrevented();\n var key = evt.which;\n\n if (key === KEYS.BACKSPACE && self.$search.val() === '') {\n var $previousChoice = self.$selection.find('.select2-selection__choice').last();\n\n if ($previousChoice.length > 0) {\n var item = Utils.GetData($previousChoice[0], 'data');\n self.searchRemoveChoice(item);\n evt.preventDefault();\n }\n }\n });\n this.$selection.on('click', '.select2-search--inline', function (evt) {\n if (self.$search.val()) {\n evt.stopPropagation();\n }\n }); // Try to detect the IE version should the `documentMode` property that\n // is stored on the document. This is only implemented in IE and is\n // slightly cleaner than doing a user agent check.\n // This property is not available in Edge, but Edge also doesn't have\n // this bug.\n\n var msie = document.documentMode;\n var disableInputEvents = msie && msie <= 11; // Workaround for browsers which do not support the `input` event\n // This will prevent double-triggering of events for browsers which support\n // both the `keyup` and `input` events.\n\n this.$selection.on('input.searchcheck', '.select2-search--inline', function (evt) {\n // IE will trigger the `input` event when a placeholder is used on a\n // search box. To get around this issue, we are forced to ignore all\n // `input` events in IE and keep using `keyup`.\n if (disableInputEvents) {\n self.$selection.off('input.search input.searchcheck');\n return;\n } // Unbind the duplicated `keyup` event\n\n\n self.$selection.off('keyup.search');\n });\n this.$selection.on('keyup.search input.search', '.select2-search--inline', function (evt) {\n // IE will trigger the `input` event when a placeholder is used on a\n // search box. To get around this issue, we are forced to ignore all\n // `input` events in IE and keep using `keyup`.\n if (disableInputEvents && evt.type === 'input') {\n self.$selection.off('input.search input.searchcheck');\n return;\n }\n\n var key = evt.which; // We can freely ignore events from modifier keys\n\n if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {\n return;\n } // Tabbing will be handled during the `keydown` phase\n\n\n if (key == KEYS.TAB) {\n return;\n }\n\n self.handleSearch(evt);\n });\n };\n /**\n * This method will transfer the tabindex attribute from the rendered\n * selection to the search box. This allows for the search box to be used as\n * the primary focus instead of the selection container.\n *\n * @private\n */\n\n\n Search.prototype._transferTabIndex = function (decorated) {\n this.$search.attr('tabindex', this.$selection.attr('tabindex'));\n this.$selection.attr('tabindex', '-1');\n };\n\n Search.prototype.createPlaceholder = function (decorated, placeholder) {\n this.$search.attr('placeholder', placeholder.text);\n };\n\n Search.prototype.update = function (decorated, data) {\n var searchHadFocus = this.$search[0] == document.activeElement;\n this.$search.attr('placeholder', '');\n decorated.call(this, data);\n this.resizeSearch();\n\n if (searchHadFocus) {\n this.$search.trigger('focus');\n }\n };\n\n Search.prototype.handleSearch = function () {\n this.resizeSearch();\n\n if (!this._keyUpPrevented) {\n var input = this.$search.val();\n this.trigger('query', {\n term: input\n });\n }\n\n this._keyUpPrevented = false;\n };\n\n Search.prototype.searchRemoveChoice = function (decorated, item) {\n this.trigger('unselect', {\n data: item\n });\n this.$search.val(item.text);\n this.handleSearch();\n };\n\n Search.prototype.resizeSearch = function () {\n this.$search.css('width', '25px');\n var width = '100%';\n\n if (this.$search.attr('placeholder') === '') {\n var minimumWidth = this.$search.val().length + 1;\n width = minimumWidth * 0.75 + 'em';\n }\n\n this.$search.css('width', width);\n };\n\n return Search;\n });\n S2.define('select2/selection/selectionCss', ['../utils'], function (Utils) {\n function SelectionCSS() {}\n\n SelectionCSS.prototype.render = function (decorated) {\n var $selection = decorated.call(this);\n var selectionCssClass = this.options.get('selectionCssClass') || '';\n\n if (selectionCssClass.indexOf(':all:') !== -1) {\n selectionCssClass = selectionCssClass.replace(':all:', '');\n Utils.copyNonInternalCssClasses($selection[0], this.$element[0]);\n }\n\n $selection.addClass(selectionCssClass);\n return $selection;\n };\n\n return SelectionCSS;\n });\n S2.define('select2/selection/eventRelay', ['jquery'], function ($) {\n function EventRelay() {}\n\n EventRelay.prototype.bind = function (decorated, container, $container) {\n var self = this;\n var relayEvents = ['open', 'opening', 'close', 'closing', 'select', 'selecting', 'unselect', 'unselecting', 'clear', 'clearing'];\n var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting', 'clearing'];\n decorated.call(this, container, $container);\n container.on('*', function (name, params) {\n // Ignore events that should not be relayed\n if (relayEvents.indexOf(name) === -1) {\n return;\n } // The parameters should always be an object\n\n\n params = params || {}; // Generate the jQuery event for the Select2 event\n\n var evt = $.Event('select2:' + name, {\n params: params\n });\n self.$element.trigger(evt); // Only handle preventable events if it was one\n\n if (preventableEvents.indexOf(name) === -1) {\n return;\n }\n\n params.prevented = evt.isDefaultPrevented();\n });\n };\n\n return EventRelay;\n });\n S2.define('select2/translation', ['jquery', 'require'], function ($, require) {\n function Translation(dict) {\n this.dict = dict || {};\n }\n\n Translation.prototype.all = function () {\n return this.dict;\n };\n\n Translation.prototype.get = function (key) {\n return this.dict[key];\n };\n\n Translation.prototype.extend = function (translation) {\n this.dict = $.extend({}, translation.all(), this.dict);\n }; // Static functions\n\n\n Translation._cache = {};\n\n Translation.loadPath = function (path) {\n if (!(path in Translation._cache)) {\n var translations = require(path);\n\n Translation._cache[path] = translations;\n }\n\n return new Translation(Translation._cache[path]);\n };\n\n return Translation;\n });\n S2.define('select2/diacritics', [], function () {\n var diacritics = {\n \"\\u24B6\": 'A',\n \"\\uFF21\": 'A',\n \"\\xC0\": 'A',\n \"\\xC1\": 'A',\n \"\\xC2\": 'A',\n \"\\u1EA6\": 'A',\n \"\\u1EA4\": 'A',\n \"\\u1EAA\": 'A',\n \"\\u1EA8\": 'A',\n \"\\xC3\": 'A',\n \"\\u0100\": 'A',\n \"\\u0102\": 'A',\n \"\\u1EB0\": 'A',\n \"\\u1EAE\": 'A',\n \"\\u1EB4\": 'A',\n \"\\u1EB2\": 'A',\n \"\\u0226\": 'A',\n \"\\u01E0\": 'A',\n \"\\xC4\": 'A',\n \"\\u01DE\": 'A',\n \"\\u1EA2\": 'A',\n \"\\xC5\": 'A',\n \"\\u01FA\": 'A',\n \"\\u01CD\": 'A',\n \"\\u0200\": 'A',\n \"\\u0202\": 'A',\n \"\\u1EA0\": 'A',\n \"\\u1EAC\": 'A',\n \"\\u1EB6\": 'A',\n \"\\u1E00\": 'A',\n \"\\u0104\": 'A',\n \"\\u023A\": 'A',\n \"\\u2C6F\": 'A',\n \"\\uA732\": 'AA',\n \"\\xC6\": 'AE',\n \"\\u01FC\": 'AE',\n \"\\u01E2\": 'AE',\n \"\\uA734\": 'AO',\n \"\\uA736\": 'AU',\n \"\\uA738\": 'AV',\n \"\\uA73A\": 'AV',\n \"\\uA73C\": 'AY',\n \"\\u24B7\": 'B',\n \"\\uFF22\": 'B',\n \"\\u1E02\": 'B',\n \"\\u1E04\": 'B',\n \"\\u1E06\": 'B',\n \"\\u0243\": 'B',\n \"\\u0182\": 'B',\n \"\\u0181\": 'B',\n \"\\u24B8\": 'C',\n \"\\uFF23\": 'C',\n \"\\u0106\": 'C',\n \"\\u0108\": 'C',\n \"\\u010A\": 'C',\n \"\\u010C\": 'C',\n \"\\xC7\": 'C',\n \"\\u1E08\": 'C',\n \"\\u0187\": 'C',\n \"\\u023B\": 'C',\n \"\\uA73E\": 'C',\n \"\\u24B9\": 'D',\n \"\\uFF24\": 'D',\n \"\\u1E0A\": 'D',\n \"\\u010E\": 'D',\n \"\\u1E0C\": 'D',\n \"\\u1E10\": 'D',\n \"\\u1E12\": 'D',\n \"\\u1E0E\": 'D',\n \"\\u0110\": 'D',\n \"\\u018B\": 'D',\n \"\\u018A\": 'D',\n \"\\u0189\": 'D',\n \"\\uA779\": 'D',\n \"\\u01F1\": 'DZ',\n \"\\u01C4\": 'DZ',\n \"\\u01F2\": 'Dz',\n \"\\u01C5\": 'Dz',\n \"\\u24BA\": 'E',\n \"\\uFF25\": 'E',\n \"\\xC8\": 'E',\n \"\\xC9\": 'E',\n \"\\xCA\": 'E',\n \"\\u1EC0\": 'E',\n \"\\u1EBE\": 'E',\n \"\\u1EC4\": 'E',\n \"\\u1EC2\": 'E',\n \"\\u1EBC\": 'E',\n \"\\u0112\": 'E',\n \"\\u1E14\": 'E',\n \"\\u1E16\": 'E',\n \"\\u0114\": 'E',\n \"\\u0116\": 'E',\n \"\\xCB\": 'E',\n \"\\u1EBA\": 'E',\n \"\\u011A\": 'E',\n \"\\u0204\": 'E',\n \"\\u0206\": 'E',\n \"\\u1EB8\": 'E',\n \"\\u1EC6\": 'E',\n \"\\u0228\": 'E',\n \"\\u1E1C\": 'E',\n \"\\u0118\": 'E',\n \"\\u1E18\": 'E',\n \"\\u1E1A\": 'E',\n \"\\u0190\": 'E',\n \"\\u018E\": 'E',\n \"\\u24BB\": 'F',\n \"\\uFF26\": 'F',\n \"\\u1E1E\": 'F',\n \"\\u0191\": 'F',\n \"\\uA77B\": 'F',\n \"\\u24BC\": 'G',\n \"\\uFF27\": 'G',\n \"\\u01F4\": 'G',\n \"\\u011C\": 'G',\n \"\\u1E20\": 'G',\n \"\\u011E\": 'G',\n \"\\u0120\": 'G',\n \"\\u01E6\": 'G',\n \"\\u0122\": 'G',\n \"\\u01E4\": 'G',\n \"\\u0193\": 'G',\n \"\\uA7A0\": 'G',\n \"\\uA77D\": 'G',\n \"\\uA77E\": 'G',\n \"\\u24BD\": 'H',\n \"\\uFF28\": 'H',\n \"\\u0124\": 'H',\n \"\\u1E22\": 'H',\n \"\\u1E26\": 'H',\n \"\\u021E\": 'H',\n \"\\u1E24\": 'H',\n \"\\u1E28\": 'H',\n \"\\u1E2A\": 'H',\n \"\\u0126\": 'H',\n \"\\u2C67\": 'H',\n \"\\u2C75\": 'H',\n \"\\uA78D\": 'H',\n \"\\u24BE\": 'I',\n \"\\uFF29\": 'I',\n \"\\xCC\": 'I',\n \"\\xCD\": 'I',\n \"\\xCE\": 'I',\n \"\\u0128\": 'I',\n \"\\u012A\": 'I',\n \"\\u012C\": 'I',\n \"\\u0130\": 'I',\n \"\\xCF\": 'I',\n \"\\u1E2E\": 'I',\n \"\\u1EC8\": 'I',\n \"\\u01CF\": 'I',\n \"\\u0208\": 'I',\n \"\\u020A\": 'I',\n \"\\u1ECA\": 'I',\n \"\\u012E\": 'I',\n \"\\u1E2C\": 'I',\n \"\\u0197\": 'I',\n \"\\u24BF\": 'J',\n \"\\uFF2A\": 'J',\n \"\\u0134\": 'J',\n \"\\u0248\": 'J',\n \"\\u24C0\": 'K',\n \"\\uFF2B\": 'K',\n \"\\u1E30\": 'K',\n \"\\u01E8\": 'K',\n \"\\u1E32\": 'K',\n \"\\u0136\": 'K',\n \"\\u1E34\": 'K',\n \"\\u0198\": 'K',\n \"\\u2C69\": 'K',\n \"\\uA740\": 'K',\n \"\\uA742\": 'K',\n \"\\uA744\": 'K',\n \"\\uA7A2\": 'K',\n \"\\u24C1\": 'L',\n \"\\uFF2C\": 'L',\n \"\\u013F\": 'L',\n \"\\u0139\": 'L',\n \"\\u013D\": 'L',\n \"\\u1E36\": 'L',\n \"\\u1E38\": 'L',\n \"\\u013B\": 'L',\n \"\\u1E3C\": 'L',\n \"\\u1E3A\": 'L',\n \"\\u0141\": 'L',\n \"\\u023D\": 'L',\n \"\\u2C62\": 'L',\n \"\\u2C60\": 'L',\n \"\\uA748\": 'L',\n \"\\uA746\": 'L',\n \"\\uA780\": 'L',\n \"\\u01C7\": 'LJ',\n \"\\u01C8\": 'Lj',\n \"\\u24C2\": 'M',\n \"\\uFF2D\": 'M',\n \"\\u1E3E\": 'M',\n \"\\u1E40\": 'M',\n \"\\u1E42\": 'M',\n \"\\u2C6E\": 'M',\n \"\\u019C\": 'M',\n \"\\u24C3\": 'N',\n \"\\uFF2E\": 'N',\n \"\\u01F8\": 'N',\n \"\\u0143\": 'N',\n \"\\xD1\": 'N',\n \"\\u1E44\": 'N',\n \"\\u0147\": 'N',\n \"\\u1E46\": 'N',\n \"\\u0145\": 'N',\n \"\\u1E4A\": 'N',\n \"\\u1E48\": 'N',\n \"\\u0220\": 'N',\n \"\\u019D\": 'N',\n \"\\uA790\": 'N',\n \"\\uA7A4\": 'N',\n \"\\u01CA\": 'NJ',\n \"\\u01CB\": 'Nj',\n \"\\u24C4\": 'O',\n \"\\uFF2F\": 'O',\n \"\\xD2\": 'O',\n \"\\xD3\": 'O',\n \"\\xD4\": 'O',\n \"\\u1ED2\": 'O',\n \"\\u1ED0\": 'O',\n \"\\u1ED6\": 'O',\n \"\\u1ED4\": 'O',\n \"\\xD5\": 'O',\n \"\\u1E4C\": 'O',\n \"\\u022C\": 'O',\n \"\\u1E4E\": 'O',\n \"\\u014C\": 'O',\n \"\\u1E50\": 'O',\n \"\\u1E52\": 'O',\n \"\\u014E\": 'O',\n \"\\u022E\": 'O',\n \"\\u0230\": 'O',\n \"\\xD6\": 'O',\n \"\\u022A\": 'O',\n \"\\u1ECE\": 'O',\n \"\\u0150\": 'O',\n \"\\u01D1\": 'O',\n \"\\u020C\": 'O',\n \"\\u020E\": 'O',\n \"\\u01A0\": 'O',\n \"\\u1EDC\": 'O',\n \"\\u1EDA\": 'O',\n \"\\u1EE0\": 'O',\n \"\\u1EDE\": 'O',\n \"\\u1EE2\": 'O',\n \"\\u1ECC\": 'O',\n \"\\u1ED8\": 'O',\n \"\\u01EA\": 'O',\n \"\\u01EC\": 'O',\n \"\\xD8\": 'O',\n \"\\u01FE\": 'O',\n \"\\u0186\": 'O',\n \"\\u019F\": 'O',\n \"\\uA74A\": 'O',\n \"\\uA74C\": 'O',\n \"\\u0152\": 'OE',\n \"\\u01A2\": 'OI',\n \"\\uA74E\": 'OO',\n \"\\u0222\": 'OU',\n \"\\u24C5\": 'P',\n \"\\uFF30\": 'P',\n \"\\u1E54\": 'P',\n \"\\u1E56\": 'P',\n \"\\u01A4\": 'P',\n \"\\u2C63\": 'P',\n \"\\uA750\": 'P',\n \"\\uA752\": 'P',\n \"\\uA754\": 'P',\n \"\\u24C6\": 'Q',\n \"\\uFF31\": 'Q',\n \"\\uA756\": 'Q',\n \"\\uA758\": 'Q',\n \"\\u024A\": 'Q',\n \"\\u24C7\": 'R',\n \"\\uFF32\": 'R',\n \"\\u0154\": 'R',\n \"\\u1E58\": 'R',\n \"\\u0158\": 'R',\n \"\\u0210\": 'R',\n \"\\u0212\": 'R',\n \"\\u1E5A\": 'R',\n \"\\u1E5C\": 'R',\n \"\\u0156\": 'R',\n \"\\u1E5E\": 'R',\n \"\\u024C\": 'R',\n \"\\u2C64\": 'R',\n \"\\uA75A\": 'R',\n \"\\uA7A6\": 'R',\n \"\\uA782\": 'R',\n \"\\u24C8\": 'S',\n \"\\uFF33\": 'S',\n \"\\u1E9E\": 'S',\n \"\\u015A\": 'S',\n \"\\u1E64\": 'S',\n \"\\u015C\": 'S',\n \"\\u1E60\": 'S',\n \"\\u0160\": 'S',\n \"\\u1E66\": 'S',\n \"\\u1E62\": 'S',\n \"\\u1E68\": 'S',\n \"\\u0218\": 'S',\n \"\\u015E\": 'S',\n \"\\u2C7E\": 'S',\n \"\\uA7A8\": 'S',\n \"\\uA784\": 'S',\n \"\\u24C9\": 'T',\n \"\\uFF34\": 'T',\n \"\\u1E6A\": 'T',\n \"\\u0164\": 'T',\n \"\\u1E6C\": 'T',\n \"\\u021A\": 'T',\n \"\\u0162\": 'T',\n \"\\u1E70\": 'T',\n \"\\u1E6E\": 'T',\n \"\\u0166\": 'T',\n \"\\u01AC\": 'T',\n \"\\u01AE\": 'T',\n \"\\u023E\": 'T',\n \"\\uA786\": 'T',\n \"\\uA728\": 'TZ',\n \"\\u24CA\": 'U',\n \"\\uFF35\": 'U',\n \"\\xD9\": 'U',\n \"\\xDA\": 'U',\n \"\\xDB\": 'U',\n \"\\u0168\": 'U',\n \"\\u1E78\": 'U',\n \"\\u016A\": 'U',\n \"\\u1E7A\": 'U',\n \"\\u016C\": 'U',\n \"\\xDC\": 'U',\n \"\\u01DB\": 'U',\n \"\\u01D7\": 'U',\n \"\\u01D5\": 'U',\n \"\\u01D9\": 'U',\n \"\\u1EE6\": 'U',\n \"\\u016E\": 'U',\n \"\\u0170\": 'U',\n \"\\u01D3\": 'U',\n \"\\u0214\": 'U',\n \"\\u0216\": 'U',\n \"\\u01AF\": 'U',\n \"\\u1EEA\": 'U',\n \"\\u1EE8\": 'U',\n \"\\u1EEE\": 'U',\n \"\\u1EEC\": 'U',\n \"\\u1EF0\": 'U',\n \"\\u1EE4\": 'U',\n \"\\u1E72\": 'U',\n \"\\u0172\": 'U',\n \"\\u1E76\": 'U',\n \"\\u1E74\": 'U',\n \"\\u0244\": 'U',\n \"\\u24CB\": 'V',\n \"\\uFF36\": 'V',\n \"\\u1E7C\": 'V',\n \"\\u1E7E\": 'V',\n \"\\u01B2\": 'V',\n \"\\uA75E\": 'V',\n \"\\u0245\": 'V',\n \"\\uA760\": 'VY',\n \"\\u24CC\": 'W',\n \"\\uFF37\": 'W',\n \"\\u1E80\": 'W',\n \"\\u1E82\": 'W',\n \"\\u0174\": 'W',\n \"\\u1E86\": 'W',\n \"\\u1E84\": 'W',\n \"\\u1E88\": 'W',\n \"\\u2C72\": 'W',\n \"\\u24CD\": 'X',\n \"\\uFF38\": 'X',\n \"\\u1E8A\": 'X',\n \"\\u1E8C\": 'X',\n \"\\u24CE\": 'Y',\n \"\\uFF39\": 'Y',\n \"\\u1EF2\": 'Y',\n \"\\xDD\": 'Y',\n \"\\u0176\": 'Y',\n \"\\u1EF8\": 'Y',\n \"\\u0232\": 'Y',\n \"\\u1E8E\": 'Y',\n \"\\u0178\": 'Y',\n \"\\u1EF6\": 'Y',\n \"\\u1EF4\": 'Y',\n \"\\u01B3\": 'Y',\n \"\\u024E\": 'Y',\n \"\\u1EFE\": 'Y',\n \"\\u24CF\": 'Z',\n \"\\uFF3A\": 'Z',\n \"\\u0179\": 'Z',\n \"\\u1E90\": 'Z',\n \"\\u017B\": 'Z',\n \"\\u017D\": 'Z',\n \"\\u1E92\": 'Z',\n \"\\u1E94\": 'Z',\n \"\\u01B5\": 'Z',\n \"\\u0224\": 'Z',\n \"\\u2C7F\": 'Z',\n \"\\u2C6B\": 'Z',\n \"\\uA762\": 'Z',\n \"\\u24D0\": 'a',\n \"\\uFF41\": 'a',\n \"\\u1E9A\": 'a',\n \"\\xE0\": 'a',\n \"\\xE1\": 'a',\n \"\\xE2\": 'a',\n \"\\u1EA7\": 'a',\n \"\\u1EA5\": 'a',\n \"\\u1EAB\": 'a',\n \"\\u1EA9\": 'a',\n \"\\xE3\": 'a',\n \"\\u0101\": 'a',\n \"\\u0103\": 'a',\n \"\\u1EB1\": 'a',\n \"\\u1EAF\": 'a',\n \"\\u1EB5\": 'a',\n \"\\u1EB3\": 'a',\n \"\\u0227\": 'a',\n \"\\u01E1\": 'a',\n \"\\xE4\": 'a',\n \"\\u01DF\": 'a',\n \"\\u1EA3\": 'a',\n \"\\xE5\": 'a',\n \"\\u01FB\": 'a',\n \"\\u01CE\": 'a',\n \"\\u0201\": 'a',\n \"\\u0203\": 'a',\n \"\\u1EA1\": 'a',\n \"\\u1EAD\": 'a',\n \"\\u1EB7\": 'a',\n \"\\u1E01\": 'a',\n \"\\u0105\": 'a',\n \"\\u2C65\": 'a',\n \"\\u0250\": 'a',\n \"\\uA733\": 'aa',\n \"\\xE6\": 'ae',\n \"\\u01FD\": 'ae',\n \"\\u01E3\": 'ae',\n \"\\uA735\": 'ao',\n \"\\uA737\": 'au',\n \"\\uA739\": 'av',\n \"\\uA73B\": 'av',\n \"\\uA73D\": 'ay',\n \"\\u24D1\": 'b',\n \"\\uFF42\": 'b',\n \"\\u1E03\": 'b',\n \"\\u1E05\": 'b',\n \"\\u1E07\": 'b',\n \"\\u0180\": 'b',\n \"\\u0183\": 'b',\n \"\\u0253\": 'b',\n \"\\u24D2\": 'c',\n \"\\uFF43\": 'c',\n \"\\u0107\": 'c',\n \"\\u0109\": 'c',\n \"\\u010B\": 'c',\n \"\\u010D\": 'c',\n \"\\xE7\": 'c',\n \"\\u1E09\": 'c',\n \"\\u0188\": 'c',\n \"\\u023C\": 'c',\n \"\\uA73F\": 'c',\n \"\\u2184\": 'c',\n \"\\u24D3\": 'd',\n \"\\uFF44\": 'd',\n \"\\u1E0B\": 'd',\n \"\\u010F\": 'd',\n \"\\u1E0D\": 'd',\n \"\\u1E11\": 'd',\n \"\\u1E13\": 'd',\n \"\\u1E0F\": 'd',\n \"\\u0111\": 'd',\n \"\\u018C\": 'd',\n \"\\u0256\": 'd',\n \"\\u0257\": 'd',\n \"\\uA77A\": 'd',\n \"\\u01F3\": 'dz',\n \"\\u01C6\": 'dz',\n \"\\u24D4\": 'e',\n \"\\uFF45\": 'e',\n \"\\xE8\": 'e',\n \"\\xE9\": 'e',\n \"\\xEA\": 'e',\n \"\\u1EC1\": 'e',\n \"\\u1EBF\": 'e',\n \"\\u1EC5\": 'e',\n \"\\u1EC3\": 'e',\n \"\\u1EBD\": 'e',\n \"\\u0113\": 'e',\n \"\\u1E15\": 'e',\n \"\\u1E17\": 'e',\n \"\\u0115\": 'e',\n \"\\u0117\": 'e',\n \"\\xEB\": 'e',\n \"\\u1EBB\": 'e',\n \"\\u011B\": 'e',\n \"\\u0205\": 'e',\n \"\\u0207\": 'e',\n \"\\u1EB9\": 'e',\n \"\\u1EC7\": 'e',\n \"\\u0229\": 'e',\n \"\\u1E1D\": 'e',\n \"\\u0119\": 'e',\n \"\\u1E19\": 'e',\n \"\\u1E1B\": 'e',\n \"\\u0247\": 'e',\n \"\\u025B\": 'e',\n \"\\u01DD\": 'e',\n \"\\u24D5\": 'f',\n \"\\uFF46\": 'f',\n \"\\u1E1F\": 'f',\n \"\\u0192\": 'f',\n \"\\uA77C\": 'f',\n \"\\u24D6\": 'g',\n \"\\uFF47\": 'g',\n \"\\u01F5\": 'g',\n \"\\u011D\": 'g',\n \"\\u1E21\": 'g',\n \"\\u011F\": 'g',\n \"\\u0121\": 'g',\n \"\\u01E7\": 'g',\n \"\\u0123\": 'g',\n \"\\u01E5\": 'g',\n \"\\u0260\": 'g',\n \"\\uA7A1\": 'g',\n \"\\u1D79\": 'g',\n \"\\uA77F\": 'g',\n \"\\u24D7\": 'h',\n \"\\uFF48\": 'h',\n \"\\u0125\": 'h',\n \"\\u1E23\": 'h',\n \"\\u1E27\": 'h',\n \"\\u021F\": 'h',\n \"\\u1E25\": 'h',\n \"\\u1E29\": 'h',\n \"\\u1E2B\": 'h',\n \"\\u1E96\": 'h',\n \"\\u0127\": 'h',\n \"\\u2C68\": 'h',\n \"\\u2C76\": 'h',\n \"\\u0265\": 'h',\n \"\\u0195\": 'hv',\n \"\\u24D8\": 'i',\n \"\\uFF49\": 'i',\n \"\\xEC\": 'i',\n \"\\xED\": 'i',\n \"\\xEE\": 'i',\n \"\\u0129\": 'i',\n \"\\u012B\": 'i',\n \"\\u012D\": 'i',\n \"\\xEF\": 'i',\n \"\\u1E2F\": 'i',\n \"\\u1EC9\": 'i',\n \"\\u01D0\": 'i',\n \"\\u0209\": 'i',\n \"\\u020B\": 'i',\n \"\\u1ECB\": 'i',\n \"\\u012F\": 'i',\n \"\\u1E2D\": 'i',\n \"\\u0268\": 'i',\n \"\\u0131\": 'i',\n \"\\u24D9\": 'j',\n \"\\uFF4A\": 'j',\n \"\\u0135\": 'j',\n \"\\u01F0\": 'j',\n \"\\u0249\": 'j',\n \"\\u24DA\": 'k',\n \"\\uFF4B\": 'k',\n \"\\u1E31\": 'k',\n \"\\u01E9\": 'k',\n \"\\u1E33\": 'k',\n \"\\u0137\": 'k',\n \"\\u1E35\": 'k',\n \"\\u0199\": 'k',\n \"\\u2C6A\": 'k',\n \"\\uA741\": 'k',\n \"\\uA743\": 'k',\n \"\\uA745\": 'k',\n \"\\uA7A3\": 'k',\n \"\\u24DB\": 'l',\n \"\\uFF4C\": 'l',\n \"\\u0140\": 'l',\n \"\\u013A\": 'l',\n \"\\u013E\": 'l',\n \"\\u1E37\": 'l',\n \"\\u1E39\": 'l',\n \"\\u013C\": 'l',\n \"\\u1E3D\": 'l',\n \"\\u1E3B\": 'l',\n \"\\u017F\": 'l',\n \"\\u0142\": 'l',\n \"\\u019A\": 'l',\n \"\\u026B\": 'l',\n \"\\u2C61\": 'l',\n \"\\uA749\": 'l',\n \"\\uA781\": 'l',\n \"\\uA747\": 'l',\n \"\\u01C9\": 'lj',\n \"\\u24DC\": 'm',\n \"\\uFF4D\": 'm',\n \"\\u1E3F\": 'm',\n \"\\u1E41\": 'm',\n \"\\u1E43\": 'm',\n \"\\u0271\": 'm',\n \"\\u026F\": 'm',\n \"\\u24DD\": 'n',\n \"\\uFF4E\": 'n',\n \"\\u01F9\": 'n',\n \"\\u0144\": 'n',\n \"\\xF1\": 'n',\n \"\\u1E45\": 'n',\n \"\\u0148\": 'n',\n \"\\u1E47\": 'n',\n \"\\u0146\": 'n',\n \"\\u1E4B\": 'n',\n \"\\u1E49\": 'n',\n \"\\u019E\": 'n',\n \"\\u0272\": 'n',\n \"\\u0149\": 'n',\n \"\\uA791\": 'n',\n \"\\uA7A5\": 'n',\n \"\\u01CC\": 'nj',\n \"\\u24DE\": 'o',\n \"\\uFF4F\": 'o',\n \"\\xF2\": 'o',\n \"\\xF3\": 'o',\n \"\\xF4\": 'o',\n \"\\u1ED3\": 'o',\n \"\\u1ED1\": 'o',\n \"\\u1ED7\": 'o',\n \"\\u1ED5\": 'o',\n \"\\xF5\": 'o',\n \"\\u1E4D\": 'o',\n \"\\u022D\": 'o',\n \"\\u1E4F\": 'o',\n \"\\u014D\": 'o',\n \"\\u1E51\": 'o',\n \"\\u1E53\": 'o',\n \"\\u014F\": 'o',\n \"\\u022F\": 'o',\n \"\\u0231\": 'o',\n \"\\xF6\": 'o',\n \"\\u022B\": 'o',\n \"\\u1ECF\": 'o',\n \"\\u0151\": 'o',\n \"\\u01D2\": 'o',\n \"\\u020D\": 'o',\n \"\\u020F\": 'o',\n \"\\u01A1\": 'o',\n \"\\u1EDD\": 'o',\n \"\\u1EDB\": 'o',\n \"\\u1EE1\": 'o',\n \"\\u1EDF\": 'o',\n \"\\u1EE3\": 'o',\n \"\\u1ECD\": 'o',\n \"\\u1ED9\": 'o',\n \"\\u01EB\": 'o',\n \"\\u01ED\": 'o',\n \"\\xF8\": 'o',\n \"\\u01FF\": 'o',\n \"\\u0254\": 'o',\n \"\\uA74B\": 'o',\n \"\\uA74D\": 'o',\n \"\\u0275\": 'o',\n \"\\u0153\": 'oe',\n \"\\u01A3\": 'oi',\n \"\\u0223\": 'ou',\n \"\\uA74F\": 'oo',\n \"\\u24DF\": 'p',\n \"\\uFF50\": 'p',\n \"\\u1E55\": 'p',\n \"\\u1E57\": 'p',\n \"\\u01A5\": 'p',\n \"\\u1D7D\": 'p',\n \"\\uA751\": 'p',\n \"\\uA753\": 'p',\n \"\\uA755\": 'p',\n \"\\u24E0\": 'q',\n \"\\uFF51\": 'q',\n \"\\u024B\": 'q',\n \"\\uA757\": 'q',\n \"\\uA759\": 'q',\n \"\\u24E1\": 'r',\n \"\\uFF52\": 'r',\n \"\\u0155\": 'r',\n \"\\u1E59\": 'r',\n \"\\u0159\": 'r',\n \"\\u0211\": 'r',\n \"\\u0213\": 'r',\n \"\\u1E5B\": 'r',\n \"\\u1E5D\": 'r',\n \"\\u0157\": 'r',\n \"\\u1E5F\": 'r',\n \"\\u024D\": 'r',\n \"\\u027D\": 'r',\n \"\\uA75B\": 'r',\n \"\\uA7A7\": 'r',\n \"\\uA783\": 'r',\n \"\\u24E2\": 's',\n \"\\uFF53\": 's',\n \"\\xDF\": 's',\n \"\\u015B\": 's',\n \"\\u1E65\": 's',\n \"\\u015D\": 's',\n \"\\u1E61\": 's',\n \"\\u0161\": 's',\n \"\\u1E67\": 's',\n \"\\u1E63\": 's',\n \"\\u1E69\": 's',\n \"\\u0219\": 's',\n \"\\u015F\": 's',\n \"\\u023F\": 's',\n \"\\uA7A9\": 's',\n \"\\uA785\": 's',\n \"\\u1E9B\": 's',\n \"\\u24E3\": 't',\n \"\\uFF54\": 't',\n \"\\u1E6B\": 't',\n \"\\u1E97\": 't',\n \"\\u0165\": 't',\n \"\\u1E6D\": 't',\n \"\\u021B\": 't',\n \"\\u0163\": 't',\n \"\\u1E71\": 't',\n \"\\u1E6F\": 't',\n \"\\u0167\": 't',\n \"\\u01AD\": 't',\n \"\\u0288\": 't',\n \"\\u2C66\": 't',\n \"\\uA787\": 't',\n \"\\uA729\": 'tz',\n \"\\u24E4\": 'u',\n \"\\uFF55\": 'u',\n \"\\xF9\": 'u',\n \"\\xFA\": 'u',\n \"\\xFB\": 'u',\n \"\\u0169\": 'u',\n \"\\u1E79\": 'u',\n \"\\u016B\": 'u',\n \"\\u1E7B\": 'u',\n \"\\u016D\": 'u',\n \"\\xFC\": 'u',\n \"\\u01DC\": 'u',\n \"\\u01D8\": 'u',\n \"\\u01D6\": 'u',\n \"\\u01DA\": 'u',\n \"\\u1EE7\": 'u',\n \"\\u016F\": 'u',\n \"\\u0171\": 'u',\n \"\\u01D4\": 'u',\n \"\\u0215\": 'u',\n \"\\u0217\": 'u',\n \"\\u01B0\": 'u',\n \"\\u1EEB\": 'u',\n \"\\u1EE9\": 'u',\n \"\\u1EEF\": 'u',\n \"\\u1EED\": 'u',\n \"\\u1EF1\": 'u',\n \"\\u1EE5\": 'u',\n \"\\u1E73\": 'u',\n \"\\u0173\": 'u',\n \"\\u1E77\": 'u',\n \"\\u1E75\": 'u',\n \"\\u0289\": 'u',\n \"\\u24E5\": 'v',\n \"\\uFF56\": 'v',\n \"\\u1E7D\": 'v',\n \"\\u1E7F\": 'v',\n \"\\u028B\": 'v',\n \"\\uA75F\": 'v',\n \"\\u028C\": 'v',\n \"\\uA761\": 'vy',\n \"\\u24E6\": 'w',\n \"\\uFF57\": 'w',\n \"\\u1E81\": 'w',\n \"\\u1E83\": 'w',\n \"\\u0175\": 'w',\n \"\\u1E87\": 'w',\n \"\\u1E85\": 'w',\n \"\\u1E98\": 'w',\n \"\\u1E89\": 'w',\n \"\\u2C73\": 'w',\n \"\\u24E7\": 'x',\n \"\\uFF58\": 'x',\n \"\\u1E8B\": 'x',\n \"\\u1E8D\": 'x',\n \"\\u24E8\": 'y',\n \"\\uFF59\": 'y',\n \"\\u1EF3\": 'y',\n \"\\xFD\": 'y',\n \"\\u0177\": 'y',\n \"\\u1EF9\": 'y',\n \"\\u0233\": 'y',\n \"\\u1E8F\": 'y',\n \"\\xFF\": 'y',\n \"\\u1EF7\": 'y',\n \"\\u1E99\": 'y',\n \"\\u1EF5\": 'y',\n \"\\u01B4\": 'y',\n \"\\u024F\": 'y',\n \"\\u1EFF\": 'y',\n \"\\u24E9\": 'z',\n \"\\uFF5A\": 'z',\n \"\\u017A\": 'z',\n \"\\u1E91\": 'z',\n \"\\u017C\": 'z',\n \"\\u017E\": 'z',\n \"\\u1E93\": 'z',\n \"\\u1E95\": 'z',\n \"\\u01B6\": 'z',\n \"\\u0225\": 'z',\n \"\\u0240\": 'z',\n \"\\u2C6C\": 'z',\n \"\\uA763\": 'z',\n \"\\u0386\": \"\\u0391\",\n \"\\u0388\": \"\\u0395\",\n \"\\u0389\": \"\\u0397\",\n \"\\u038A\": \"\\u0399\",\n \"\\u03AA\": \"\\u0399\",\n \"\\u038C\": \"\\u039F\",\n \"\\u038E\": \"\\u03A5\",\n \"\\u03AB\": \"\\u03A5\",\n \"\\u038F\": \"\\u03A9\",\n \"\\u03AC\": \"\\u03B1\",\n \"\\u03AD\": \"\\u03B5\",\n \"\\u03AE\": \"\\u03B7\",\n \"\\u03AF\": \"\\u03B9\",\n \"\\u03CA\": \"\\u03B9\",\n \"\\u0390\": \"\\u03B9\",\n \"\\u03CC\": \"\\u03BF\",\n \"\\u03CD\": \"\\u03C5\",\n \"\\u03CB\": \"\\u03C5\",\n \"\\u03B0\": \"\\u03C5\",\n \"\\u03CE\": \"\\u03C9\",\n \"\\u03C2\": \"\\u03C3\",\n \"\\u2019\": '\\''\n };\n return diacritics;\n });\n S2.define('select2/data/base', ['../utils'], function (Utils) {\n function BaseAdapter($element, options) {\n BaseAdapter.__super__.constructor.call(this);\n }\n\n Utils.Extend(BaseAdapter, Utils.Observable);\n\n BaseAdapter.prototype.current = function (callback) {\n throw new Error('The `current` method must be defined in child classes.');\n };\n\n BaseAdapter.prototype.query = function (params, callback) {\n throw new Error('The `query` method must be defined in child classes.');\n };\n\n BaseAdapter.prototype.bind = function (container, $container) {// Can be implemented in subclasses\n };\n\n BaseAdapter.prototype.destroy = function () {// Can be implemented in subclasses\n };\n\n BaseAdapter.prototype.generateResultId = function (container, data) {\n var id = container.id + '-result-';\n id += Utils.generateChars(4);\n\n if (data.id != null) {\n id += '-' + data.id.toString();\n } else {\n id += '-' + Utils.generateChars(4);\n }\n\n return id;\n };\n\n return BaseAdapter;\n });\n S2.define('select2/data/select', ['./base', '../utils', 'jquery'], function (BaseAdapter, Utils, $) {\n function SelectAdapter($element, options) {\n this.$element = $element;\n this.options = options;\n\n SelectAdapter.__super__.constructor.call(this);\n }\n\n Utils.Extend(SelectAdapter, BaseAdapter);\n\n SelectAdapter.prototype.current = function (callback) {\n var self = this;\n var data = Array.prototype.map.call(this.$element[0].querySelectorAll(':checked'), function (selectedElement) {\n return self.item($(selectedElement));\n });\n callback(data);\n };\n\n SelectAdapter.prototype.select = function (data) {\n var self = this;\n data.selected = true; // If data.element is a DOM node, use it instead\n\n if (data.element != null && data.element.tagName.toLowerCase() === 'option') {\n data.element.selected = true;\n this.$element.trigger('input').trigger('change');\n return;\n }\n\n if (this.$element.prop('multiple')) {\n this.current(function (currentData) {\n var val = [];\n data = [data];\n data.push.apply(data, currentData);\n\n for (var d = 0; d < data.length; d++) {\n var id = data[d].id;\n\n if (val.indexOf(id) === -1) {\n val.push(id);\n }\n }\n\n self.$element.val(val);\n self.$element.trigger('input').trigger('change');\n });\n } else {\n var val = data.id;\n this.$element.val(val);\n this.$element.trigger('input').trigger('change');\n }\n };\n\n SelectAdapter.prototype.unselect = function (data) {\n var self = this;\n\n if (!this.$element.prop('multiple')) {\n return;\n }\n\n data.selected = false;\n\n if (data.element != null && data.element.tagName.toLowerCase() === 'option') {\n data.element.selected = false;\n this.$element.trigger('input').trigger('change');\n return;\n }\n\n this.current(function (currentData) {\n var val = [];\n\n for (var d = 0; d < currentData.length; d++) {\n var id = currentData[d].id;\n\n if (id !== data.id && val.indexOf(id) === -1) {\n val.push(id);\n }\n }\n\n self.$element.val(val);\n self.$element.trigger('input').trigger('change');\n });\n };\n\n SelectAdapter.prototype.bind = function (container, $container) {\n var self = this;\n this.container = container;\n container.on('select', function (params) {\n self.select(params.data);\n });\n container.on('unselect', function (params) {\n self.unselect(params.data);\n });\n };\n\n SelectAdapter.prototype.destroy = function () {\n // Remove anything added to child elements\n this.$element.find('*').each(function () {\n // Remove any custom data set by Select2\n Utils.RemoveData(this);\n });\n };\n\n SelectAdapter.prototype.query = function (params, callback) {\n var data = [];\n var self = this;\n var $options = this.$element.children();\n $options.each(function () {\n if (this.tagName.toLowerCase() !== 'option' && this.tagName.toLowerCase() !== 'optgroup') {\n return;\n }\n\n var $option = $(this);\n var option = self.item($option);\n var matches = self.matches(params, option);\n\n if (matches !== null) {\n data.push(matches);\n }\n });\n callback({\n results: data\n });\n };\n\n SelectAdapter.prototype.addOptions = function ($options) {\n this.$element.append($options);\n };\n\n SelectAdapter.prototype.option = function (data) {\n var option;\n\n if (data.children) {\n option = document.createElement('optgroup');\n option.label = data.text;\n } else {\n option = document.createElement('option');\n\n if (option.textContent !== undefined) {\n option.textContent = data.text;\n } else {\n option.innerText = data.text;\n }\n }\n\n if (data.id !== undefined) {\n option.value = data.id;\n }\n\n if (data.disabled) {\n option.disabled = true;\n }\n\n if (data.selected) {\n option.selected = true;\n }\n\n if (data.title) {\n option.title = data.title;\n }\n\n var normalizedData = this._normalizeItem(data);\n\n normalizedData.element = option; // Override the option's data with the combined data\n\n Utils.StoreData(option, 'data', normalizedData);\n return $(option);\n };\n\n SelectAdapter.prototype.item = function ($option) {\n var data = {};\n data = Utils.GetData($option[0], 'data');\n\n if (data != null) {\n return data;\n }\n\n var option = $option[0];\n\n if (option.tagName.toLowerCase() === 'option') {\n data = {\n id: $option.val(),\n text: $option.text(),\n disabled: $option.prop('disabled'),\n selected: $option.prop('selected'),\n title: $option.prop('title')\n };\n } else if (option.tagName.toLowerCase() === 'optgroup') {\n data = {\n text: $option.prop('label'),\n children: [],\n title: $option.prop('title')\n };\n var $children = $option.children('option');\n var children = [];\n\n for (var c = 0; c < $children.length; c++) {\n var $child = $($children[c]);\n var child = this.item($child);\n children.push(child);\n }\n\n data.children = children;\n }\n\n data = this._normalizeItem(data);\n data.element = $option[0];\n Utils.StoreData($option[0], 'data', data);\n return data;\n };\n\n SelectAdapter.prototype._normalizeItem = function (item) {\n if (item !== Object(item)) {\n item = {\n id: item,\n text: item\n };\n }\n\n item = $.extend({}, {\n text: ''\n }, item);\n var defaults = {\n selected: false,\n disabled: false\n };\n\n if (item.id != null) {\n item.id = item.id.toString();\n }\n\n if (item.text != null) {\n item.text = item.text.toString();\n }\n\n if (item._resultId == null && item.id && this.container != null) {\n item._resultId = this.generateResultId(this.container, item);\n }\n\n return $.extend({}, defaults, item);\n };\n\n SelectAdapter.prototype.matches = function (params, data) {\n var matcher = this.options.get('matcher');\n return matcher(params, data);\n };\n\n return SelectAdapter;\n });\n S2.define('select2/data/array', ['./select', '../utils', 'jquery'], function (SelectAdapter, Utils, $) {\n function ArrayAdapter($element, options) {\n this._dataToConvert = options.get('data') || [];\n\n ArrayAdapter.__super__.constructor.call(this, $element, options);\n }\n\n Utils.Extend(ArrayAdapter, SelectAdapter);\n\n ArrayAdapter.prototype.bind = function (container, $container) {\n ArrayAdapter.__super__.bind.call(this, container, $container);\n\n this.addOptions(this.convertToOptions(this._dataToConvert));\n };\n\n ArrayAdapter.prototype.select = function (data) {\n var $option = this.$element.find('option').filter(function (i, elm) {\n return elm.value == data.id.toString();\n });\n\n if ($option.length === 0) {\n $option = this.option(data);\n this.addOptions($option);\n }\n\n ArrayAdapter.__super__.select.call(this, data);\n };\n\n ArrayAdapter.prototype.convertToOptions = function (data) {\n var self = this;\n var $existing = this.$element.find('option');\n var existingIds = $existing.map(function () {\n return self.item($(this)).id;\n }).get();\n var $options = []; // Filter out all items except for the one passed in the argument\n\n function onlyItem(item) {\n return function () {\n return $(this).val() == item.id;\n };\n }\n\n for (var d = 0; d < data.length; d++) {\n var item = this._normalizeItem(data[d]); // Skip items which were pre-loaded, only merge the data\n\n\n if (existingIds.indexOf(item.id) >= 0) {\n var $existingOption = $existing.filter(onlyItem(item));\n var existingData = this.item($existingOption);\n var newData = $.extend(true, {}, item, existingData);\n var $newOption = this.option(newData);\n $existingOption.replaceWith($newOption);\n continue;\n }\n\n var $option = this.option(item);\n\n if (item.children) {\n var $children = this.convertToOptions(item.children);\n $option.append($children);\n }\n\n $options.push($option);\n }\n\n return $options;\n };\n\n return ArrayAdapter;\n });\n S2.define('select2/data/ajax', ['./array', '../utils', 'jquery'], function (ArrayAdapter, Utils, $) {\n function AjaxAdapter($element, options) {\n this.ajaxOptions = this._applyDefaults(options.get('ajax'));\n\n if (this.ajaxOptions.processResults != null) {\n this.processResults = this.ajaxOptions.processResults;\n }\n\n AjaxAdapter.__super__.constructor.call(this, $element, options);\n }\n\n Utils.Extend(AjaxAdapter, ArrayAdapter);\n\n AjaxAdapter.prototype._applyDefaults = function (options) {\n var defaults = {\n data: function data(params) {\n return $.extend({}, params, {\n q: params.term\n });\n },\n transport: function transport(params, success, failure) {\n var $request = $.ajax(params);\n $request.then(success);\n $request.fail(failure);\n return $request;\n }\n };\n return $.extend({}, defaults, options, true);\n };\n\n AjaxAdapter.prototype.processResults = function (results) {\n return results;\n };\n\n AjaxAdapter.prototype.query = function (params, callback) {\n var matches = [];\n var self = this;\n\n if (this._request != null) {\n // JSONP requests cannot always be aborted\n if (typeof this._request.abort === 'function') {\n this._request.abort();\n }\n\n this._request = null;\n }\n\n var options = $.extend({\n type: 'GET'\n }, this.ajaxOptions);\n\n if (typeof options.url === 'function') {\n options.url = options.url.call(this.$element, params);\n }\n\n if (typeof options.data === 'function') {\n options.data = options.data.call(this.$element, params);\n }\n\n function request() {\n var $request = options.transport(options, function (data) {\n var results = self.processResults(data, params);\n\n if (self.options.get('debug') && window.console && console.error) {\n // Check to make sure that the response included a `results` key.\n if (!results || !results.results || !Array.isArray(results.results)) {\n console.error('Select2: The AJAX results did not return an array in the ' + '`results` key of the response.');\n }\n }\n\n callback(results);\n }, function () {\n // Attempt to detect if a request was aborted\n // Only works if the transport exposes a status property\n if ('status' in $request && ($request.status === 0 || $request.status === '0')) {\n return;\n }\n\n self.trigger('results:message', {\n message: 'errorLoading'\n });\n });\n self._request = $request;\n }\n\n if (this.ajaxOptions.delay && params.term != null) {\n if (this._queryTimeout) {\n window.clearTimeout(this._queryTimeout);\n }\n\n this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);\n } else {\n request();\n }\n };\n\n return AjaxAdapter;\n });\n S2.define('select2/data/tags', ['jquery'], function ($) {\n function Tags(decorated, $element, options) {\n var tags = options.get('tags');\n var createTag = options.get('createTag');\n\n if (createTag !== undefined) {\n this.createTag = createTag;\n }\n\n var insertTag = options.get('insertTag');\n\n if (insertTag !== undefined) {\n this.insertTag = insertTag;\n }\n\n decorated.call(this, $element, options);\n\n if (Array.isArray(tags)) {\n for (var t = 0; t < tags.length; t++) {\n var tag = tags[t];\n\n var item = this._normalizeItem(tag);\n\n var $option = this.option(item);\n this.$element.append($option);\n }\n }\n }\n\n Tags.prototype.query = function (decorated, params, callback) {\n var self = this;\n\n this._removeOldTags();\n\n if (params.term == null || params.page != null) {\n decorated.call(this, params, callback);\n return;\n }\n\n function wrapper(obj, child) {\n var data = obj.results;\n\n for (var i = 0; i < data.length; i++) {\n var option = data[i];\n var checkChildren = option.children != null && !wrapper({\n results: option.children\n }, true);\n var optionText = (option.text || '').toUpperCase();\n var paramsTerm = (params.term || '').toUpperCase();\n var checkText = optionText === paramsTerm;\n\n if (checkText || checkChildren) {\n if (child) {\n return false;\n }\n\n obj.data = data;\n callback(obj);\n return;\n }\n }\n\n if (child) {\n return true;\n }\n\n var tag = self.createTag(params);\n\n if (tag != null) {\n var $option = self.option(tag);\n $option.attr('data-select2-tag', 'true');\n self.addOptions([$option]);\n self.insertTag(data, tag);\n }\n\n obj.results = data;\n callback(obj);\n }\n\n decorated.call(this, params, wrapper);\n };\n\n Tags.prototype.createTag = function (decorated, params) {\n if (params.term == null) {\n return null;\n }\n\n var term = params.term.trim();\n\n if (term === '') {\n return null;\n }\n\n return {\n id: term,\n text: term\n };\n };\n\n Tags.prototype.insertTag = function (_, data, tag) {\n data.unshift(tag);\n };\n\n Tags.prototype._removeOldTags = function (_) {\n var $options = this.$element.find('option[data-select2-tag]');\n $options.each(function () {\n if (this.selected) {\n return;\n }\n\n $(this).remove();\n });\n };\n\n return Tags;\n });\n S2.define('select2/data/tokenizer', ['jquery'], function ($) {\n function Tokenizer(decorated, $element, options) {\n var tokenizer = options.get('tokenizer');\n\n if (tokenizer !== undefined) {\n this.tokenizer = tokenizer;\n }\n\n decorated.call(this, $element, options);\n }\n\n Tokenizer.prototype.bind = function (decorated, container, $container) {\n decorated.call(this, container, $container);\n this.$search = container.dropdown.$search || container.selection.$search || $container.find('.select2-search__field');\n };\n\n Tokenizer.prototype.query = function (decorated, params, callback) {\n var self = this;\n\n function createAndSelect(data) {\n // Normalize the data object so we can use it for checks\n var item = self._normalizeItem(data); // Check if the data object already exists as a tag\n // Select it if it doesn't\n\n\n var $existingOptions = self.$element.find('option').filter(function () {\n return $(this).val() === item.id;\n }); // If an existing option wasn't found for it, create the option\n\n if (!$existingOptions.length) {\n var $option = self.option(item);\n $option.attr('data-select2-tag', true);\n\n self._removeOldTags();\n\n self.addOptions([$option]);\n } // Select the item, now that we know there is an option for it\n\n\n select(item);\n }\n\n function select(data) {\n self.trigger('select', {\n data: data\n });\n }\n\n params.term = params.term || '';\n var tokenData = this.tokenizer(params, this.options, createAndSelect);\n\n if (tokenData.term !== params.term) {\n // Replace the search term if we have the search box\n if (this.$search.length) {\n this.$search.val(tokenData.term);\n this.$search.trigger('focus');\n }\n\n params.term = tokenData.term;\n }\n\n decorated.call(this, params, callback);\n };\n\n Tokenizer.prototype.tokenizer = function (_, params, options, callback) {\n var separators = options.get('tokenSeparators') || [];\n var term = params.term;\n var i = 0;\n\n var createTag = this.createTag || function (params) {\n return {\n id: params.term,\n text: params.term\n };\n };\n\n while (i < term.length) {\n var termChar = term[i];\n\n if (separators.indexOf(termChar) === -1) {\n i++;\n continue;\n }\n\n var part = term.substr(0, i);\n var partParams = $.extend({}, params, {\n term: part\n });\n var data = createTag(partParams);\n\n if (data == null) {\n i++;\n continue;\n }\n\n callback(data); // Reset the term to not include the tokenized portion\n\n term = term.substr(i + 1) || '';\n i = 0;\n }\n\n return {\n term: term\n };\n };\n\n return Tokenizer;\n });\n S2.define('select2/data/minimumInputLength', [], function () {\n function MinimumInputLength(decorated, $e, options) {\n this.minimumInputLength = options.get('minimumInputLength');\n decorated.call(this, $e, options);\n }\n\n MinimumInputLength.prototype.query = function (decorated, params, callback) {\n params.term = params.term || '';\n\n if (params.term.length < this.minimumInputLength) {\n this.trigger('results:message', {\n message: 'inputTooShort',\n args: {\n minimum: this.minimumInputLength,\n input: params.term,\n params: params\n }\n });\n return;\n }\n\n decorated.call(this, params, callback);\n };\n\n return MinimumInputLength;\n });\n S2.define('select2/data/maximumInputLength', [], function () {\n function MaximumInputLength(decorated, $e, options) {\n this.maximumInputLength = options.get('maximumInputLength');\n decorated.call(this, $e, options);\n }\n\n MaximumInputLength.prototype.query = function (decorated, params, callback) {\n params.term = params.term || '';\n\n if (this.maximumInputLength > 0 && params.term.length > this.maximumInputLength) {\n this.trigger('results:message', {\n message: 'inputTooLong',\n args: {\n maximum: this.maximumInputLength,\n input: params.term,\n params: params\n }\n });\n return;\n }\n\n decorated.call(this, params, callback);\n };\n\n return MaximumInputLength;\n });\n S2.define('select2/data/maximumSelectionLength', [], function () {\n function MaximumSelectionLength(decorated, $e, options) {\n this.maximumSelectionLength = options.get('maximumSelectionLength');\n decorated.call(this, $e, options);\n }\n\n MaximumSelectionLength.prototype.bind = function (decorated, container, $container) {\n var self = this;\n decorated.call(this, container, $container);\n container.on('select', function () {\n self._checkIfMaximumSelected();\n });\n };\n\n MaximumSelectionLength.prototype.query = function (decorated, params, callback) {\n var self = this;\n\n this._checkIfMaximumSelected(function () {\n decorated.call(self, params, callback);\n });\n };\n\n MaximumSelectionLength.prototype._checkIfMaximumSelected = function (_, successCallback) {\n var self = this;\n this.current(function (currentData) {\n var count = currentData != null ? currentData.length : 0;\n\n if (self.maximumSelectionLength > 0 && count >= self.maximumSelectionLength) {\n self.trigger('results:message', {\n message: 'maximumSelected',\n args: {\n maximum: self.maximumSelectionLength\n }\n });\n return;\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n };\n\n return MaximumSelectionLength;\n });\n S2.define('select2/dropdown', ['jquery', './utils'], function ($, Utils) {\n function Dropdown($element, options) {\n this.$element = $element;\n this.options = options;\n\n Dropdown.__super__.constructor.call(this);\n }\n\n Utils.Extend(Dropdown, Utils.Observable);\n\n Dropdown.prototype.render = function () {\n var $dropdown = $('' + '' + '');\n $dropdown.attr('dir', this.options.get('dir'));\n this.$dropdown = $dropdown;\n return $dropdown;\n };\n\n Dropdown.prototype.bind = function () {// Should be implemented in subclasses\n };\n\n Dropdown.prototype.position = function ($dropdown, $container) {// Should be implemented in subclasses\n };\n\n Dropdown.prototype.destroy = function () {\n // Remove the dropdown from the DOM\n this.$dropdown.remove();\n };\n\n return Dropdown;\n });\n S2.define('select2/dropdown/search', ['jquery'], function ($) {\n function Search() {}\n\n Search.prototype.render = function (decorated) {\n var $rendered = decorated.call(this);\n var searchLabel = this.options.get('translations').get('search');\n var $search = $('' + '' + '');\n this.$searchContainer = $search;\n this.$search = $search.find('input');\n this.$search.prop('autocomplete', this.options.get('autocomplete'));\n this.$search.attr('aria-label', searchLabel());\n $rendered.prepend($search);\n return $rendered;\n };\n\n Search.prototype.bind = function (decorated, container, $container) {\n var self = this;\n var resultsId = container.id + '-results';\n decorated.call(this, container, $container);\n this.$search.on('keydown', function (evt) {\n self.trigger('keypress', evt);\n self._keyUpPrevented = evt.isDefaultPrevented();\n }); // Workaround for browsers which do not support the `input` event\n // This will prevent double-triggering of events for browsers which support\n // both the `keyup` and `input` events.\n\n this.$search.on('input', function (evt) {\n // Unbind the duplicated `keyup` event\n $(this).off('keyup');\n });\n this.$search.on('keyup input', function (evt) {\n self.handleSearch(evt);\n });\n container.on('open', function () {\n self.$search.attr('tabindex', 0);\n self.$search.attr('aria-controls', resultsId);\n self.$search.trigger('focus');\n window.setTimeout(function () {\n self.$search.trigger('focus');\n }, 0);\n });\n container.on('close', function () {\n self.$search.attr('tabindex', -1);\n self.$search.removeAttr('aria-controls');\n self.$search.removeAttr('aria-activedescendant');\n self.$search.val('');\n self.$search.trigger('blur');\n });\n container.on('focus', function () {\n if (!container.isOpen()) {\n self.$search.trigger('focus');\n }\n });\n container.on('results:all', function (params) {\n if (params.query.term == null || params.query.term === '') {\n var showSearch = self.showSearch(params);\n\n if (showSearch) {\n self.$searchContainer[0].classList.remove('select2-search--hide');\n } else {\n self.$searchContainer[0].classList.add('select2-search--hide');\n }\n }\n });\n container.on('results:focus', function (params) {\n if (params.data._resultId) {\n self.$search.attr('aria-activedescendant', params.data._resultId);\n } else {\n self.$search.removeAttr('aria-activedescendant');\n }\n });\n };\n\n Search.prototype.handleSearch = function (evt) {\n if (!this._keyUpPrevented) {\n var input = this.$search.val();\n this.trigger('query', {\n term: input\n });\n }\n\n this._keyUpPrevented = false;\n };\n\n Search.prototype.showSearch = function (_, params) {\n return true;\n };\n\n return Search;\n });\n S2.define('select2/dropdown/hidePlaceholder', [], function () {\n function HidePlaceholder(decorated, $element, options, dataAdapter) {\n this.placeholder = this.normalizePlaceholder(options.get('placeholder'));\n decorated.call(this, $element, options, dataAdapter);\n }\n\n HidePlaceholder.prototype.append = function (decorated, data) {\n data.results = this.removePlaceholder(data.results);\n decorated.call(this, data);\n };\n\n HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {\n if (typeof placeholder === 'string') {\n placeholder = {\n id: '',\n text: placeholder\n };\n }\n\n return placeholder;\n };\n\n HidePlaceholder.prototype.removePlaceholder = function (_, data) {\n var modifiedData = data.slice(0);\n\n for (var d = data.length - 1; d >= 0; d--) {\n var item = data[d];\n\n if (this.placeholder.id === item.id) {\n modifiedData.splice(d, 1);\n }\n }\n\n return modifiedData;\n };\n\n return HidePlaceholder;\n });\n S2.define('select2/dropdown/infiniteScroll', ['jquery'], function ($) {\n function InfiniteScroll(decorated, $element, options, dataAdapter) {\n this.lastParams = {};\n decorated.call(this, $element, options, dataAdapter);\n this.$loadingMore = this.createLoadingMore();\n this.loading = false;\n }\n\n InfiniteScroll.prototype.append = function (decorated, data) {\n this.$loadingMore.remove();\n this.loading = false;\n decorated.call(this, data);\n\n if (this.showLoadingMore(data)) {\n this.$results.append(this.$loadingMore);\n this.loadMoreIfNeeded();\n }\n };\n\n InfiniteScroll.prototype.bind = function (decorated, container, $container) {\n var self = this;\n decorated.call(this, container, $container);\n container.on('query', function (params) {\n self.lastParams = params;\n self.loading = true;\n });\n container.on('query:append', function (params) {\n self.lastParams = params;\n self.loading = true;\n });\n this.$results.on('scroll', this.loadMoreIfNeeded.bind(this));\n };\n\n InfiniteScroll.prototype.loadMoreIfNeeded = function () {\n var isLoadMoreVisible = $.contains(document.documentElement, this.$loadingMore[0]);\n\n if (this.loading || !isLoadMoreVisible) {\n return;\n }\n\n var currentOffset = this.$results.offset().top + this.$results.outerHeight(false);\n var loadingMoreOffset = this.$loadingMore.offset().top + this.$loadingMore.outerHeight(false);\n\n if (currentOffset + 50 >= loadingMoreOffset) {\n this.loadMore();\n }\n };\n\n InfiniteScroll.prototype.loadMore = function () {\n this.loading = true;\n var params = $.extend({}, {\n page: 1\n }, this.lastParams);\n params.page++;\n this.trigger('query:append', params);\n };\n\n InfiniteScroll.prototype.showLoadingMore = function (_, data) {\n return data.pagination && data.pagination.more;\n };\n\n InfiniteScroll.prototype.createLoadingMore = function () {\n var $option = $('
          • ');\n var message = this.options.get('translations').get('loadingMore');\n $option.html(message(this.lastParams));\n return $option;\n };\n\n return InfiniteScroll;\n });\n S2.define('select2/dropdown/attachBody', ['jquery', '../utils'], function ($, Utils) {\n function AttachBody(decorated, $element, options) {\n this.$dropdownParent = $(options.get('dropdownParent') || document.body);\n decorated.call(this, $element, options);\n }\n\n AttachBody.prototype.bind = function (decorated, container, $container) {\n var self = this;\n decorated.call(this, container, $container);\n container.on('open', function () {\n self._showDropdown();\n\n self._attachPositioningHandler(container); // Must bind after the results handlers to ensure correct sizing\n\n\n self._bindContainerResultHandlers(container);\n });\n container.on('close', function () {\n self._hideDropdown();\n\n self._detachPositioningHandler(container);\n });\n this.$dropdownContainer.on('mousedown', function (evt) {\n evt.stopPropagation();\n });\n };\n\n AttachBody.prototype.destroy = function (decorated) {\n decorated.call(this);\n this.$dropdownContainer.remove();\n };\n\n AttachBody.prototype.position = function (decorated, $dropdown, $container) {\n // Clone all of the container classes\n $dropdown.attr('class', $container.attr('class'));\n $dropdown[0].classList.remove('select2');\n $dropdown[0].classList.add('select2-container--open');\n $dropdown.css({\n position: 'absolute',\n top: -999999\n });\n this.$container = $container;\n };\n\n AttachBody.prototype.render = function (decorated) {\n var $container = $('');\n var $dropdown = decorated.call(this);\n $container.append($dropdown);\n this.$dropdownContainer = $container;\n return $container;\n };\n\n AttachBody.prototype._hideDropdown = function (decorated) {\n this.$dropdownContainer.detach();\n };\n\n AttachBody.prototype._bindContainerResultHandlers = function (decorated, container) {\n // These should only be bound once\n if (this._containerResultsHandlersBound) {\n return;\n }\n\n var self = this;\n container.on('results:all', function () {\n self._positionDropdown();\n\n self._resizeDropdown();\n });\n container.on('results:append', function () {\n self._positionDropdown();\n\n self._resizeDropdown();\n });\n container.on('results:message', function () {\n self._positionDropdown();\n\n self._resizeDropdown();\n });\n container.on('select', function () {\n self._positionDropdown();\n\n self._resizeDropdown();\n });\n container.on('unselect', function () {\n self._positionDropdown();\n\n self._resizeDropdown();\n });\n this._containerResultsHandlersBound = true;\n };\n\n AttachBody.prototype._attachPositioningHandler = function (decorated, container) {\n var self = this;\n var scrollEvent = 'scroll.select2.' + container.id;\n var resizeEvent = 'resize.select2.' + container.id;\n var orientationEvent = 'orientationchange.select2.' + container.id;\n var $watchers = this.$container.parents().filter(Utils.hasScroll);\n $watchers.each(function () {\n Utils.StoreData(this, 'select2-scroll-position', {\n x: $(this).scrollLeft(),\n y: $(this).scrollTop()\n });\n });\n $watchers.on(scrollEvent, function (ev) {\n var position = Utils.GetData(this, 'select2-scroll-position');\n $(this).scrollTop(position.y);\n });\n $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, function (e) {\n self._positionDropdown();\n\n self._resizeDropdown();\n });\n };\n\n AttachBody.prototype._detachPositioningHandler = function (decorated, container) {\n var scrollEvent = 'scroll.select2.' + container.id;\n var resizeEvent = 'resize.select2.' + container.id;\n var orientationEvent = 'orientationchange.select2.' + container.id;\n var $watchers = this.$container.parents().filter(Utils.hasScroll);\n $watchers.off(scrollEvent);\n $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);\n };\n\n AttachBody.prototype._positionDropdown = function () {\n var $window = $(window);\n var isCurrentlyAbove = this.$dropdown[0].classList.contains('select2-dropdown--above');\n var isCurrentlyBelow = this.$dropdown[0].classList.contains('select2-dropdown--below');\n var newDirection = null;\n var offset = this.$container.offset();\n offset.bottom = offset.top + this.$container.outerHeight(false);\n var container = {\n height: this.$container.outerHeight(false)\n };\n container.top = offset.top;\n container.bottom = offset.top + container.height;\n var dropdown = {\n height: this.$dropdown.outerHeight(false)\n };\n var viewport = {\n top: $window.scrollTop(),\n bottom: $window.scrollTop() + $window.height()\n };\n var enoughRoomAbove = viewport.top < offset.top - dropdown.height;\n var enoughRoomBelow = viewport.bottom > offset.bottom + dropdown.height;\n var css = {\n left: offset.left,\n top: container.bottom\n }; // Determine what the parent element is to use for calculating the offset\n\n var $offsetParent = this.$dropdownParent; // For statically positioned elements, we need to get the element\n // that is determining the offset\n\n if ($offsetParent.css('position') === 'static') {\n $offsetParent = $offsetParent.offsetParent();\n }\n\n var parentOffset = {\n top: 0,\n left: 0\n };\n\n if ($.contains(document.body, $offsetParent[0]) || $offsetParent[0].isConnected) {\n parentOffset = $offsetParent.offset();\n }\n\n css.top -= parentOffset.top;\n css.left -= parentOffset.left;\n\n if (!isCurrentlyAbove && !isCurrentlyBelow) {\n newDirection = 'below';\n }\n\n if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {\n newDirection = 'above';\n } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {\n newDirection = 'below';\n }\n\n if (newDirection == 'above' || isCurrentlyAbove && newDirection !== 'below') {\n css.top = container.top - parentOffset.top - dropdown.height;\n }\n\n if (newDirection != null) {\n this.$dropdown[0].classList.remove('select2-dropdown--below');\n this.$dropdown[0].classList.remove('select2-dropdown--above');\n this.$dropdown[0].classList.add('select2-dropdown--' + newDirection);\n this.$container[0].classList.remove('select2-container--below');\n this.$container[0].classList.remove('select2-container--above');\n this.$container[0].classList.add('select2-container--' + newDirection);\n }\n\n this.$dropdownContainer.css(css);\n };\n\n AttachBody.prototype._resizeDropdown = function () {\n var css = {\n width: this.$container.outerWidth(false) + 'px'\n };\n\n if (this.options.get('dropdownAutoWidth')) {\n css.minWidth = css.width;\n css.position = 'relative';\n css.width = 'auto';\n }\n\n this.$dropdown.css(css);\n };\n\n AttachBody.prototype._showDropdown = function (decorated) {\n this.$dropdownContainer.appendTo(this.$dropdownParent);\n\n this._positionDropdown();\n\n this._resizeDropdown();\n };\n\n return AttachBody;\n });\n S2.define('select2/dropdown/minimumResultsForSearch', [], function () {\n function countResults(data) {\n var count = 0;\n\n for (var d = 0; d < data.length; d++) {\n var item = data[d];\n\n if (item.children) {\n count += countResults(item.children);\n } else {\n count++;\n }\n }\n\n return count;\n }\n\n function MinimumResultsForSearch(decorated, $element, options, dataAdapter) {\n this.minimumResultsForSearch = options.get('minimumResultsForSearch');\n\n if (this.minimumResultsForSearch < 0) {\n this.minimumResultsForSearch = Infinity;\n }\n\n decorated.call(this, $element, options, dataAdapter);\n }\n\n MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {\n if (countResults(params.data.results) < this.minimumResultsForSearch) {\n return false;\n }\n\n return decorated.call(this, params);\n };\n\n return MinimumResultsForSearch;\n });\n S2.define('select2/dropdown/selectOnClose', ['../utils'], function (Utils) {\n function SelectOnClose() {}\n\n SelectOnClose.prototype.bind = function (decorated, container, $container) {\n var self = this;\n decorated.call(this, container, $container);\n container.on('close', function (params) {\n self._handleSelectOnClose(params);\n });\n };\n\n SelectOnClose.prototype._handleSelectOnClose = function (_, params) {\n if (params && params.originalSelect2Event != null) {\n var event = params.originalSelect2Event; // Don't select an item if the close event was triggered from a select or\n // unselect event\n\n if (event._type === 'select' || event._type === 'unselect') {\n return;\n }\n }\n\n var $highlightedResults = this.getHighlightedResults(); // Only select highlighted results\n\n if ($highlightedResults.length < 1) {\n return;\n }\n\n var data = Utils.GetData($highlightedResults[0], 'data'); // Don't re-select already selected resulte\n\n if (data.element != null && data.element.selected || data.element == null && data.selected) {\n return;\n }\n\n this.trigger('select', {\n data: data\n });\n };\n\n return SelectOnClose;\n });\n S2.define('select2/dropdown/closeOnSelect', [], function () {\n function CloseOnSelect() {}\n\n CloseOnSelect.prototype.bind = function (decorated, container, $container) {\n var self = this;\n decorated.call(this, container, $container);\n container.on('select', function (evt) {\n self._selectTriggered(evt);\n });\n container.on('unselect', function (evt) {\n self._selectTriggered(evt);\n });\n };\n\n CloseOnSelect.prototype._selectTriggered = function (_, evt) {\n var originalEvent = evt.originalEvent; // Don't close if the control key is being held\n\n if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) {\n return;\n }\n\n this.trigger('close', {\n originalEvent: originalEvent,\n originalSelect2Event: evt\n });\n };\n\n return CloseOnSelect;\n });\n S2.define('select2/dropdown/dropdownCss', ['../utils'], function (Utils) {\n function DropdownCSS() {}\n\n DropdownCSS.prototype.render = function (decorated) {\n var $dropdown = decorated.call(this);\n var dropdownCssClass = this.options.get('dropdownCssClass') || '';\n\n if (dropdownCssClass.indexOf(':all:') !== -1) {\n dropdownCssClass = dropdownCssClass.replace(':all:', '');\n Utils.copyNonInternalCssClasses($dropdown[0], this.$element[0]);\n }\n\n $dropdown.addClass(dropdownCssClass);\n return $dropdown;\n };\n\n return DropdownCSS;\n });\n S2.define('select2/dropdown/tagsSearchHighlight', ['../utils'], function (Utils) {\n function TagsSearchHighlight() {}\n\n TagsSearchHighlight.prototype.highlightFirstItem = function (decorated) {\n var $options = this.$results.find('.select2-results__option--selectable' + ':not(.select2-results__option--selected)');\n\n if ($options.length > 0) {\n var $firstOption = $options.first();\n var data = Utils.GetData($firstOption[0], 'data');\n var firstElement = data.element;\n\n if (firstElement && firstElement.getAttribute) {\n if (firstElement.getAttribute('data-select2-tag') === 'true') {\n $firstOption.trigger('mouseenter');\n return;\n }\n }\n }\n\n decorated.call(this);\n };\n\n return TagsSearchHighlight;\n });\n S2.define('select2/i18n/en', [], function () {\n // English\n return {\n errorLoading: function errorLoading() {\n return 'The results could not be loaded.';\n },\n inputTooLong: function inputTooLong(args) {\n var overChars = args.input.length - args.maximum;\n var message = 'Please delete ' + overChars + ' character';\n\n if (overChars != 1) {\n message += 's';\n }\n\n return message;\n },\n inputTooShort: function inputTooShort(args) {\n var remainingChars = args.minimum - args.input.length;\n var message = 'Please enter ' + remainingChars + ' or more characters';\n return message;\n },\n loadingMore: function loadingMore() {\n return 'Loading more results…';\n },\n maximumSelected: function maximumSelected(args) {\n var message = 'You can only select ' + args.maximum + ' item';\n\n if (args.maximum != 1) {\n message += 's';\n }\n\n return message;\n },\n noResults: function noResults() {\n return 'No results found';\n },\n searching: function searching() {\n return 'Searching…';\n },\n removeAllItems: function removeAllItems() {\n return 'Remove all items';\n },\n removeItem: function removeItem() {\n return 'Remove item';\n },\n search: function search() {\n return 'Search';\n }\n };\n });\n S2.define('select2/defaults', ['jquery', './results', './selection/single', './selection/multiple', './selection/placeholder', './selection/allowClear', './selection/search', './selection/selectionCss', './selection/eventRelay', './utils', './translation', './diacritics', './data/select', './data/array', './data/ajax', './data/tags', './data/tokenizer', './data/minimumInputLength', './data/maximumInputLength', './data/maximumSelectionLength', './dropdown', './dropdown/search', './dropdown/hidePlaceholder', './dropdown/infiniteScroll', './dropdown/attachBody', './dropdown/minimumResultsForSearch', './dropdown/selectOnClose', './dropdown/closeOnSelect', './dropdown/dropdownCss', './dropdown/tagsSearchHighlight', './i18n/en'], function ($, ResultsList, SingleSelection, MultipleSelection, Placeholder, AllowClear, SelectionSearch, SelectionCSS, EventRelay, Utils, Translation, DIACRITICS, SelectData, ArrayData, AjaxData, Tags, Tokenizer, MinimumInputLength, MaximumInputLength, MaximumSelectionLength, Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, DropdownCSS, TagsSearchHighlight, EnglishTranslation) {\n function Defaults() {\n this.reset();\n }\n\n Defaults.prototype.apply = function (options) {\n options = $.extend(true, {}, this.defaults, options);\n\n if (options.dataAdapter == null) {\n if (options.ajax != null) {\n options.dataAdapter = AjaxData;\n } else if (options.data != null) {\n options.dataAdapter = ArrayData;\n } else {\n options.dataAdapter = SelectData;\n }\n\n if (options.minimumInputLength > 0) {\n options.dataAdapter = Utils.Decorate(options.dataAdapter, MinimumInputLength);\n }\n\n if (options.maximumInputLength > 0) {\n options.dataAdapter = Utils.Decorate(options.dataAdapter, MaximumInputLength);\n }\n\n if (options.maximumSelectionLength > 0) {\n options.dataAdapter = Utils.Decorate(options.dataAdapter, MaximumSelectionLength);\n }\n\n if (options.tags) {\n options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);\n }\n\n if (options.tokenSeparators != null || options.tokenizer != null) {\n options.dataAdapter = Utils.Decorate(options.dataAdapter, Tokenizer);\n }\n }\n\n if (options.resultsAdapter == null) {\n options.resultsAdapter = ResultsList;\n\n if (options.ajax != null) {\n options.resultsAdapter = Utils.Decorate(options.resultsAdapter, InfiniteScroll);\n }\n\n if (options.placeholder != null) {\n options.resultsAdapter = Utils.Decorate(options.resultsAdapter, HidePlaceholder);\n }\n\n if (options.selectOnClose) {\n options.resultsAdapter = Utils.Decorate(options.resultsAdapter, SelectOnClose);\n }\n\n if (options.tags) {\n options.resultsAdapter = Utils.Decorate(options.resultsAdapter, TagsSearchHighlight);\n }\n }\n\n if (options.dropdownAdapter == null) {\n if (options.multiple) {\n options.dropdownAdapter = Dropdown;\n } else {\n var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);\n options.dropdownAdapter = SearchableDropdown;\n }\n\n if (options.minimumResultsForSearch !== 0) {\n options.dropdownAdapter = Utils.Decorate(options.dropdownAdapter, MinimumResultsForSearch);\n }\n\n if (options.closeOnSelect) {\n options.dropdownAdapter = Utils.Decorate(options.dropdownAdapter, CloseOnSelect);\n }\n\n if (options.dropdownCssClass != null) {\n options.dropdownAdapter = Utils.Decorate(options.dropdownAdapter, DropdownCSS);\n }\n\n options.dropdownAdapter = Utils.Decorate(options.dropdownAdapter, AttachBody);\n }\n\n if (options.selectionAdapter == null) {\n if (options.multiple) {\n options.selectionAdapter = MultipleSelection;\n } else {\n options.selectionAdapter = SingleSelection;\n } // Add the placeholder mixin if a placeholder was specified\n\n\n if (options.placeholder != null) {\n options.selectionAdapter = Utils.Decorate(options.selectionAdapter, Placeholder);\n }\n\n if (options.allowClear) {\n options.selectionAdapter = Utils.Decorate(options.selectionAdapter, AllowClear);\n }\n\n if (options.multiple) {\n options.selectionAdapter = Utils.Decorate(options.selectionAdapter, SelectionSearch);\n }\n\n if (options.selectionCssClass != null) {\n options.selectionAdapter = Utils.Decorate(options.selectionAdapter, SelectionCSS);\n }\n\n options.selectionAdapter = Utils.Decorate(options.selectionAdapter, EventRelay);\n } // If the defaults were not previously applied from an element, it is\n // possible for the language option to have not been resolved\n\n\n options.language = this._resolveLanguage(options.language); // Always fall back to English since it will always be complete\n\n options.language.push('en');\n var uniqueLanguages = [];\n\n for (var l = 0; l < options.language.length; l++) {\n var language = options.language[l];\n\n if (uniqueLanguages.indexOf(language) === -1) {\n uniqueLanguages.push(language);\n }\n }\n\n options.language = uniqueLanguages;\n options.translations = this._processTranslations(options.language, options.debug);\n return options;\n };\n\n Defaults.prototype.reset = function () {\n function stripDiacritics(text) {\n // Used 'uni range + named function' from http://jsperf.com/diacritics/18\n function match(a) {\n return DIACRITICS[a] || a;\n }\n\n return text.replace(/[^\\u0000-\\u007E]/g, match);\n }\n\n function matcher(params, data) {\n // Always return the object if there is nothing to compare\n if (params.term == null || params.term.trim() === '') {\n return data;\n } // Do a recursive check for options with children\n\n\n if (data.children && data.children.length > 0) {\n // Clone the data object if there are children\n // This is required as we modify the object to remove any non-matches\n var match = $.extend(true, {}, data); // Check each child of the option\n\n for (var c = data.children.length - 1; c >= 0; c--) {\n var child = data.children[c];\n var matches = matcher(params, child); // If there wasn't a match, remove the object in the array\n\n if (matches == null) {\n match.children.splice(c, 1);\n }\n } // If any children matched, return the new object\n\n\n if (match.children.length > 0) {\n return match;\n } // If there were no matching children, check just the plain object\n\n\n return matcher(params, match);\n }\n\n var original = stripDiacritics(data.text).toUpperCase();\n var term = stripDiacritics(params.term).toUpperCase(); // Check if the text contains the term\n\n if (original.indexOf(term) > -1) {\n return data;\n } // If it doesn't contain the term, don't return anything\n\n\n return null;\n }\n\n this.defaults = {\n amdLanguageBase: './i18n/',\n autocomplete: 'off',\n closeOnSelect: true,\n debug: false,\n dropdownAutoWidth: false,\n escapeMarkup: Utils.escapeMarkup,\n language: {},\n matcher: matcher,\n minimumInputLength: 0,\n maximumInputLength: 0,\n maximumSelectionLength: 0,\n minimumResultsForSearch: 0,\n selectOnClose: false,\n scrollAfterSelect: false,\n sorter: function sorter(data) {\n return data;\n },\n templateResult: function templateResult(result) {\n return result.text;\n },\n templateSelection: function templateSelection(selection) {\n return selection.text;\n },\n theme: 'default',\n width: 'resolve'\n };\n };\n\n Defaults.prototype.applyFromElement = function (options, $element) {\n var optionLanguage = options.language;\n var defaultLanguage = this.defaults.language;\n var elementLanguage = $element.prop('lang');\n var parentLanguage = $element.closest('[lang]').prop('lang');\n var languages = Array.prototype.concat.call(this._resolveLanguage(elementLanguage), this._resolveLanguage(optionLanguage), this._resolveLanguage(defaultLanguage), this._resolveLanguage(parentLanguage));\n options.language = languages;\n return options;\n };\n\n Defaults.prototype._resolveLanguage = function (language) {\n if (!language) {\n return [];\n }\n\n if ($.isEmptyObject(language)) {\n return [];\n }\n\n if ($.isPlainObject(language)) {\n return [language];\n }\n\n var languages;\n\n if (!Array.isArray(language)) {\n languages = [language];\n } else {\n languages = language;\n }\n\n var resolvedLanguages = [];\n\n for (var l = 0; l < languages.length; l++) {\n resolvedLanguages.push(languages[l]);\n\n if (typeof languages[l] === 'string' && languages[l].indexOf('-') > 0) {\n // Extract the region information if it is included\n var languageParts = languages[l].split('-');\n var baseLanguage = languageParts[0];\n resolvedLanguages.push(baseLanguage);\n }\n }\n\n return resolvedLanguages;\n };\n\n Defaults.prototype._processTranslations = function (languages, debug) {\n var translations = new Translation();\n\n for (var l = 0; l < languages.length; l++) {\n var languageData = new Translation();\n var language = languages[l];\n\n if (typeof language === 'string') {\n try {\n // Try to load it with the original name\n languageData = Translation.loadPath(language);\n } catch (e) {\n try {\n // If we couldn't load it, check if it wasn't the full path\n language = this.defaults.amdLanguageBase + language;\n languageData = Translation.loadPath(language);\n } catch (ex) {\n // The translation could not be loaded at all. Sometimes this is\n // because of a configuration problem, other times this can be\n // because of how Select2 helps load all possible translation files\n if (debug && window.console && console.warn) {\n console.warn('Select2: The language file for \"' + language + '\" could ' + 'not be automatically loaded. A fallback will be used instead.');\n }\n }\n }\n } else if ($.isPlainObject(language)) {\n languageData = new Translation(language);\n } else {\n languageData = language;\n }\n\n translations.extend(languageData);\n }\n\n return translations;\n };\n\n Defaults.prototype.set = function (key, value) {\n var camelKey = $.camelCase(key);\n var data = {};\n data[camelKey] = value;\n\n var convertedData = Utils._convertData(data);\n\n $.extend(true, this.defaults, convertedData);\n };\n\n var defaults = new Defaults();\n return defaults;\n });\n S2.define('select2/options', ['jquery', './defaults', './utils'], function ($, Defaults, Utils) {\n function Options(options, $element) {\n this.options = options;\n\n if ($element != null) {\n this.fromElement($element);\n }\n\n if ($element != null) {\n this.options = Defaults.applyFromElement(this.options, $element);\n }\n\n this.options = Defaults.apply(this.options);\n }\n\n Options.prototype.fromElement = function ($e) {\n var excludedData = ['select2'];\n\n if (this.options.multiple == null) {\n this.options.multiple = $e.prop('multiple');\n }\n\n if (this.options.disabled == null) {\n this.options.disabled = $e.prop('disabled');\n }\n\n if (this.options.autocomplete == null && $e.prop('autocomplete')) {\n this.options.autocomplete = $e.prop('autocomplete');\n }\n\n if (this.options.dir == null) {\n if ($e.prop('dir')) {\n this.options.dir = $e.prop('dir');\n } else if ($e.closest('[dir]').prop('dir')) {\n this.options.dir = $e.closest('[dir]').prop('dir');\n } else {\n this.options.dir = 'ltr';\n }\n }\n\n $e.prop('disabled', this.options.disabled);\n $e.prop('multiple', this.options.multiple);\n\n if (Utils.GetData($e[0], 'select2Tags')) {\n if (this.options.debug && window.console && console.warn) {\n console.warn('Select2: The `data-select2-tags` attribute has been changed to ' + 'use the `data-data` and `data-tags=\"true\"` attributes and will be ' + 'removed in future versions of Select2.');\n }\n\n Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags'));\n Utils.StoreData($e[0], 'tags', true);\n }\n\n if (Utils.GetData($e[0], 'ajaxUrl')) {\n if (this.options.debug && window.console && console.warn) {\n console.warn('Select2: The `data-ajax-url` attribute has been changed to ' + '`data-ajax--url` and support for the old attribute will be removed' + ' in future versions of Select2.');\n }\n\n $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl'));\n Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl'));\n }\n\n var dataset = {};\n\n function upperCaseLetter(_, letter) {\n return letter.toUpperCase();\n } // Pre-load all of the attributes which are prefixed with `data-`\n\n\n for (var attr = 0; attr < $e[0].attributes.length; attr++) {\n var attributeName = $e[0].attributes[attr].name;\n var prefix = 'data-';\n\n if (attributeName.substr(0, prefix.length) == prefix) {\n // Get the contents of the attribute after `data-`\n var dataName = attributeName.substring(prefix.length); // Get the data contents from the consistent source\n // This is more than likely the jQuery data helper\n\n var dataValue = Utils.GetData($e[0], dataName); // camelCase the attribute name to match the spec\n\n var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); // Store the data attribute contents into the dataset since\n\n dataset[camelDataName] = dataValue;\n }\n } // Prefer the element's `dataset` attribute if it exists\n // jQuery 1.x does not correctly handle data attributes with multiple dashes\n\n\n if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {\n dataset = $.extend(true, {}, $e[0].dataset, dataset);\n } // Prefer our internal data cache if it exists\n\n\n var data = $.extend(true, {}, Utils.GetData($e[0]), dataset);\n data = Utils._convertData(data);\n\n for (var key in data) {\n if (excludedData.indexOf(key) > -1) {\n continue;\n }\n\n if ($.isPlainObject(this.options[key])) {\n $.extend(this.options[key], data[key]);\n } else {\n this.options[key] = data[key];\n }\n }\n\n return this;\n };\n\n Options.prototype.get = function (key) {\n return this.options[key];\n };\n\n Options.prototype.set = function (key, val) {\n this.options[key] = val;\n };\n\n return Options;\n });\n S2.define('select2/core', ['jquery', './options', './utils', './keys'], function ($, Options, Utils, KEYS) {\n var Select2 = function Select2($element, options) {\n if (Utils.GetData($element[0], 'select2') != null) {\n Utils.GetData($element[0], 'select2').destroy();\n }\n\n this.$element = $element;\n this.id = this._generateId($element);\n options = options || {};\n this.options = new Options(options, $element);\n\n Select2.__super__.constructor.call(this); // Set up the tabindex\n\n\n var tabindex = $element.attr('tabindex') || 0;\n Utils.StoreData($element[0], 'old-tabindex', tabindex);\n $element.attr('tabindex', '-1'); // Set up containers and adapters\n\n var DataAdapter = this.options.get('dataAdapter');\n this.dataAdapter = new DataAdapter($element, this.options);\n var $container = this.render();\n\n this._placeContainer($container);\n\n var SelectionAdapter = this.options.get('selectionAdapter');\n this.selection = new SelectionAdapter($element, this.options);\n this.$selection = this.selection.render();\n this.selection.position(this.$selection, $container);\n var DropdownAdapter = this.options.get('dropdownAdapter');\n this.dropdown = new DropdownAdapter($element, this.options);\n this.$dropdown = this.dropdown.render();\n this.dropdown.position(this.$dropdown, $container);\n var ResultsAdapter = this.options.get('resultsAdapter');\n this.results = new ResultsAdapter($element, this.options, this.dataAdapter);\n this.$results = this.results.render();\n this.results.position(this.$results, this.$dropdown); // Bind events\n\n var self = this; // Bind the container to all of the adapters\n\n this._bindAdapters(); // Register any DOM event handlers\n\n\n this._registerDomEvents(); // Register any internal event handlers\n\n\n this._registerDataEvents();\n\n this._registerSelectionEvents();\n\n this._registerDropdownEvents();\n\n this._registerResultsEvents();\n\n this._registerEvents(); // Set the initial state\n\n\n this.dataAdapter.current(function (initialData) {\n self.trigger('selection:update', {\n data: initialData\n });\n }); // Hide the original select\n\n $element[0].classList.add('select2-hidden-accessible');\n $element.attr('aria-hidden', 'true'); // Synchronize any monitored attributes\n\n this._syncAttributes();\n\n Utils.StoreData($element[0], 'select2', this); // Ensure backwards compatibility with $element.data('select2').\n\n $element.data('select2', this);\n };\n\n Utils.Extend(Select2, Utils.Observable);\n\n Select2.prototype._generateId = function ($element) {\n var id = '';\n\n if ($element.attr('id') != null) {\n id = $element.attr('id');\n } else if ($element.attr('name') != null) {\n id = $element.attr('name') + '-' + Utils.generateChars(2);\n } else {\n id = Utils.generateChars(4);\n }\n\n id = id.replace(/(:|\\.|\\[|\\]|,)/g, '');\n id = 'select2-' + id;\n return id;\n };\n\n Select2.prototype._placeContainer = function ($container) {\n $container.insertAfter(this.$element);\n\n var width = this._resolveWidth(this.$element, this.options.get('width'));\n\n if (width != null) {\n $container.css('width', width);\n }\n };\n\n Select2.prototype._resolveWidth = function ($element, method) {\n var WIDTH = /^width:(([-+]?([0-9]*\\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;\n\n if (method == 'resolve') {\n var styleWidth = this._resolveWidth($element, 'style');\n\n if (styleWidth != null) {\n return styleWidth;\n }\n\n return this._resolveWidth($element, 'element');\n }\n\n if (method == 'element') {\n var elementWidth = $element.outerWidth(false);\n\n if (elementWidth <= 0) {\n return 'auto';\n }\n\n return elementWidth + 'px';\n }\n\n if (method == 'style') {\n var style = $element.attr('style');\n\n if (typeof style !== 'string') {\n return null;\n }\n\n var attrs = style.split(';');\n\n for (var i = 0, l = attrs.length; i < l; i = i + 1) {\n var attr = attrs[i].replace(/\\s/g, '');\n var matches = attr.match(WIDTH);\n\n if (matches !== null && matches.length >= 1) {\n return matches[1];\n }\n }\n\n return null;\n }\n\n if (method == 'computedstyle') {\n var computedStyle = window.getComputedStyle($element[0]);\n return computedStyle.width;\n }\n\n return method;\n };\n\n Select2.prototype._bindAdapters = function () {\n this.dataAdapter.bind(this, this.$container);\n this.selection.bind(this, this.$container);\n this.dropdown.bind(this, this.$container);\n this.results.bind(this, this.$container);\n };\n\n Select2.prototype._registerDomEvents = function () {\n var self = this;\n this.$element.on('change.select2', function () {\n self.dataAdapter.current(function (data) {\n self.trigger('selection:update', {\n data: data\n });\n });\n });\n this.$element.on('focus.select2', function (evt) {\n self.trigger('focus', evt);\n });\n this._syncA = Utils.bind(this._syncAttributes, this);\n this._syncS = Utils.bind(this._syncSubtree, this);\n this._observer = new window.MutationObserver(function (mutations) {\n self._syncA();\n\n self._syncS(mutations);\n });\n\n this._observer.observe(this.$element[0], {\n attributes: true,\n childList: true,\n subtree: false\n });\n };\n\n Select2.prototype._registerDataEvents = function () {\n var self = this;\n this.dataAdapter.on('*', function (name, params) {\n self.trigger(name, params);\n });\n };\n\n Select2.prototype._registerSelectionEvents = function () {\n var self = this;\n var nonRelayEvents = ['toggle', 'focus'];\n this.selection.on('toggle', function () {\n self.toggleDropdown();\n });\n this.selection.on('focus', function (params) {\n self.focus(params);\n });\n this.selection.on('*', function (name, params) {\n if (nonRelayEvents.indexOf(name) !== -1) {\n return;\n }\n\n self.trigger(name, params);\n });\n };\n\n Select2.prototype._registerDropdownEvents = function () {\n var self = this;\n this.dropdown.on('*', function (name, params) {\n self.trigger(name, params);\n });\n };\n\n Select2.prototype._registerResultsEvents = function () {\n var self = this;\n this.results.on('*', function (name, params) {\n self.trigger(name, params);\n });\n };\n\n Select2.prototype._registerEvents = function () {\n var self = this;\n this.on('open', function () {\n self.$container[0].classList.add('select2-container--open');\n });\n this.on('close', function () {\n self.$container[0].classList.remove('select2-container--open');\n });\n this.on('enable', function () {\n self.$container[0].classList.remove('select2-container--disabled');\n });\n this.on('disable', function () {\n self.$container[0].classList.add('select2-container--disabled');\n });\n this.on('blur', function () {\n self.$container[0].classList.remove('select2-container--focus');\n });\n this.on('query', function (params) {\n if (!self.isOpen()) {\n self.trigger('open', {});\n }\n\n this.dataAdapter.query(params, function (data) {\n self.trigger('results:all', {\n data: data,\n query: params\n });\n });\n });\n this.on('query:append', function (params) {\n this.dataAdapter.query(params, function (data) {\n self.trigger('results:append', {\n data: data,\n query: params\n });\n });\n });\n this.on('keypress', function (evt) {\n var key = evt.which;\n\n if (self.isOpen()) {\n if (key === KEYS.ESC || key === KEYS.UP && evt.altKey) {\n self.close(evt);\n evt.preventDefault();\n } else if (key === KEYS.ENTER || key === KEYS.TAB) {\n self.trigger('results:select', {});\n evt.preventDefault();\n } else if (key === KEYS.SPACE && evt.ctrlKey) {\n self.trigger('results:toggle', {});\n evt.preventDefault();\n } else if (key === KEYS.UP) {\n self.trigger('results:previous', {});\n evt.preventDefault();\n } else if (key === KEYS.DOWN) {\n self.trigger('results:next', {});\n evt.preventDefault();\n }\n } else {\n if (key === KEYS.ENTER || key === KEYS.SPACE || key === KEYS.DOWN && evt.altKey) {\n self.open();\n evt.preventDefault();\n }\n }\n });\n };\n\n Select2.prototype._syncAttributes = function () {\n this.options.set('disabled', this.$element.prop('disabled'));\n\n if (this.isDisabled()) {\n if (this.isOpen()) {\n this.close();\n }\n\n this.trigger('disable', {});\n } else {\n this.trigger('enable', {});\n }\n };\n\n Select2.prototype._isChangeMutation = function (mutations) {\n var self = this;\n\n if (mutations.addedNodes && mutations.addedNodes.length > 0) {\n for (var n = 0; n < mutations.addedNodes.length; n++) {\n var node = mutations.addedNodes[n];\n\n if (node.selected) {\n return true;\n }\n }\n } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {\n return true;\n } else if (Array.isArray(mutations)) {\n return mutations.some(function (mutation) {\n return self._isChangeMutation(mutation);\n });\n }\n\n return false;\n };\n\n Select2.prototype._syncSubtree = function (mutations) {\n var changed = this._isChangeMutation(mutations);\n\n var self = this; // Only re-pull the data if we think there is a change\n\n if (changed) {\n this.dataAdapter.current(function (currentData) {\n self.trigger('selection:update', {\n data: currentData\n });\n });\n }\n };\n /**\n * Override the trigger method to automatically trigger pre-events when\n * there are events that can be prevented.\n */\n\n\n Select2.prototype.trigger = function (name, args) {\n var actualTrigger = Select2.__super__.trigger;\n var preTriggerMap = {\n 'open': 'opening',\n 'close': 'closing',\n 'select': 'selecting',\n 'unselect': 'unselecting',\n 'clear': 'clearing'\n };\n\n if (args === undefined) {\n args = {};\n }\n\n if (name in preTriggerMap) {\n var preTriggerName = preTriggerMap[name];\n var preTriggerArgs = {\n prevented: false,\n name: name,\n args: args\n };\n actualTrigger.call(this, preTriggerName, preTriggerArgs);\n\n if (preTriggerArgs.prevented) {\n args.prevented = true;\n return;\n }\n }\n\n actualTrigger.call(this, name, args);\n };\n\n Select2.prototype.toggleDropdown = function () {\n if (this.isDisabled()) {\n return;\n }\n\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n };\n\n Select2.prototype.open = function () {\n if (this.isOpen()) {\n return;\n }\n\n if (this.isDisabled()) {\n return;\n }\n\n this.trigger('query', {});\n };\n\n Select2.prototype.close = function (evt) {\n if (!this.isOpen()) {\n return;\n }\n\n this.trigger('close', {\n originalEvent: evt\n });\n };\n /**\n * Helper method to abstract the \"enabled\" (not \"disabled\") state of this\n * object.\n *\n * @return {true} if the instance is not disabled.\n * @return {false} if the instance is disabled.\n */\n\n\n Select2.prototype.isEnabled = function () {\n return !this.isDisabled();\n };\n /**\n * Helper method to abstract the \"disabled\" state of this object.\n *\n * @return {true} if the disabled option is true.\n * @return {false} if the disabled option is false.\n */\n\n\n Select2.prototype.isDisabled = function () {\n return this.options.get('disabled');\n };\n\n Select2.prototype.isOpen = function () {\n return this.$container[0].classList.contains('select2-container--open');\n };\n\n Select2.prototype.hasFocus = function () {\n return this.$container[0].classList.contains('select2-container--focus');\n };\n\n Select2.prototype.focus = function (data) {\n // No need to re-trigger focus events if we are already focused\n if (this.hasFocus()) {\n return;\n }\n\n this.$container[0].classList.add('select2-container--focus');\n this.trigger('focus', {});\n };\n\n Select2.prototype.enable = function (args) {\n if (this.options.get('debug') && window.console && console.warn) {\n console.warn('Select2: The `select2(\"enable\")` method has been deprecated and will' + ' be removed in later Select2 versions. Use $element.prop(\"disabled\")' + ' instead.');\n }\n\n if (args == null || args.length === 0) {\n args = [true];\n }\n\n var disabled = !args[0];\n this.$element.prop('disabled', disabled);\n };\n\n Select2.prototype.data = function () {\n if (this.options.get('debug') && arguments.length > 0 && window.console && console.warn) {\n console.warn('Select2: Data can no longer be set using `select2(\"data\")`. You ' + 'should consider setting the value instead using `$element.val()`.');\n }\n\n var data = [];\n this.dataAdapter.current(function (currentData) {\n data = currentData;\n });\n return data;\n };\n\n Select2.prototype.val = function (args) {\n if (this.options.get('debug') && window.console && console.warn) {\n console.warn('Select2: The `select2(\"val\")` method has been deprecated and will be' + ' removed in later Select2 versions. Use $element.val() instead.');\n }\n\n if (args == null || args.length === 0) {\n return this.$element.val();\n }\n\n var newVal = args[0];\n\n if (Array.isArray(newVal)) {\n newVal = newVal.map(function (obj) {\n return obj.toString();\n });\n }\n\n this.$element.val(newVal).trigger('input').trigger('change');\n };\n\n Select2.prototype.destroy = function () {\n Utils.RemoveData(this.$container[0]);\n this.$container.remove();\n\n this._observer.disconnect();\n\n this._observer = null;\n this._syncA = null;\n this._syncS = null;\n this.$element.off('.select2');\n this.$element.attr('tabindex', Utils.GetData(this.$element[0], 'old-tabindex'));\n this.$element[0].classList.remove('select2-hidden-accessible');\n this.$element.attr('aria-hidden', 'false');\n Utils.RemoveData(this.$element[0]);\n this.$element.removeData('select2');\n this.dataAdapter.destroy();\n this.selection.destroy();\n this.dropdown.destroy();\n this.results.destroy();\n this.dataAdapter = null;\n this.selection = null;\n this.dropdown = null;\n this.results = null;\n };\n\n Select2.prototype.render = function () {\n var $container = $('' + '' + '' + '');\n $container.attr('dir', this.options.get('dir'));\n this.$container = $container;\n this.$container[0].classList.add('select2-container--' + this.options.get('theme'));\n Utils.StoreData($container[0], 'element', this.$element);\n return $container;\n };\n\n return Select2;\n });\n S2.define('jquery-mousewheel', ['jquery'], function ($) {\n // Used to shim jQuery.mousewheel for non-full builds.\n return $;\n });\n S2.define('jquery.select2', ['jquery', 'jquery-mousewheel', './select2/core', './select2/defaults', './select2/utils'], function ($, _, Select2, Defaults, Utils) {\n if ($.fn.select2 == null) {\n // All methods that should return the element\n var thisMethods = ['open', 'close', 'destroy'];\n\n $.fn.select2 = function (options) {\n options = options || {};\n\n if (_typeof(options) === 'object') {\n this.each(function () {\n var instanceOptions = $.extend(true, {}, options);\n var instance = new Select2($(this), instanceOptions);\n });\n return this;\n } else if (typeof options === 'string') {\n var ret;\n var args = Array.prototype.slice.call(arguments, 1);\n this.each(function () {\n var instance = Utils.GetData(this, 'select2');\n\n if (instance == null && window.console && console.error) {\n console.error('The select2(\\'' + options + '\\') method was called on an ' + 'element that is not using Select2.');\n }\n\n ret = instance[options].apply(instance, args);\n }); // Check if we should be returning `this`\n\n if (thisMethods.indexOf(options) > -1) {\n return this;\n }\n\n return ret;\n } else {\n throw new Error('Invalid arguments for Select2: ' + options);\n }\n };\n }\n\n if ($.fn.select2.defaults == null) {\n $.fn.select2.defaults = Defaults;\n }\n\n return Select2;\n }); // Return the AMD loader configuration so it can be used outside of this file\n\n return {\n define: S2.define,\n require: S2.require\n };\n }(); // Autoload the jQuery bindings\n // We know that all of the modules exist above this, so we're safe\n\n\n var select2 = S2.require('jquery.select2'); // Hold the AMD module references on the jQuery function that was just loaded\n // This allows Select2 to use the internal loader outside of this file, such\n // as in the language files.\n\n\n jQuery.fn.select2.amd = S2; // Return the Select2 instance for anyone who is importing it.\n\n return select2;\n});","import Quill from 'quill/dist/quill';\n\n$(() => {\n const $quill_editor = $('.quill-content-editor-js');\n const $quill_source = $('.quill-content-source-js');\n if (!$quill_editor.length || !$quill_source.length) {\n return true;\n }\n\n const toolbarOptions = [\n [{\n header: [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n false\n ]\n }],\n [\n 'bold',\n 'italic',\n 'underline'\n ],\n [\n { list: 'ordered' },\n { list: 'bullet' }\n ],\n [\n { indent: '-1' },\n { indent: '+1' }\n ],\n [\n {\n color: ['#000000', '#e60000', '#ff9900', '#ffff00', '#008a00', '#0066cc', '#9933ff', '#ffffff', '#facccc',\n '#ffebcc', '#ffffcc', '#cce8cc', '#cce0f5', '#ebd6ff', '#bbbbbb', '#f06666', '#ffc266', '#ffff66', '#66b966',\n '#66a3e0', '#c285ff', '#888888', '#a10000', '#b26b00', '#b2b200', '#006100', '#0047b2', '#6b24b2', '#444444',\n '#5c0000', '#663d00', '#666600', '#003700', '#002966', '#3d1466', 'custom-color']\n }\n ],\n [{ font: [] }],\n [{ align: [] }],\n ['clean']\n ];\n const quill = new Quill('.quill-content-editor-js', {\n modules: {\n toolbar: toolbarOptions\n },\n theme: 'snow'\n });\n\n // customize the color tool handler - from https://stackoverflow.com/a/48156458/595962\n quill.getModule('toolbar').addHandler('color', (initial_color) => {\n /* eslint-disable-next-line no-alert */\n const final_color = initial_color === 'custom-color' ? window.prompt('Enter Hex/RGB/RGBA') : initial_color;\n quill.format('color', final_color);\n });\n\n quill.root.innerHTML = $quill_source.val();\n return $quill_source.closest('form').submit(() => $quill_source.val(quill.root.innerHTML));\n});\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n/* eslint-disable no-proto */\n'use strict';\n\nvar base64 = require('base64-js');\n\nvar ieee754 = require('ieee754');\n\nvar isArray = require('isarray');\n\nexports.Buffer = Buffer;\nexports.SlowBuffer = SlowBuffer;\nexports.INSPECT_MAX_BYTES = 50;\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\n\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport();\n/*\n * Export kMaxLength after typed array support is determined.\n */\n\nexports.kMaxLength = kMaxLength();\n\nfunction typedArraySupport() {\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {\n __proto__: Uint8Array.prototype,\n foo: function foo() {\n return 42;\n }\n };\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0; // ie10 has broken `subarray`\n } catch (e) {\n return false;\n }\n}\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff;\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length');\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length);\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length);\n }\n\n that.length = length;\n }\n\n return that;\n}\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\n\nfunction Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length);\n } // Common case.\n\n\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error('If encoding is specified then the first argument must be a string');\n }\n\n return allocUnsafe(this, arg);\n }\n\n return from(this, arg, encodingOrOffset, length);\n}\n\nBuffer.poolSize = 8192; // not used by this implementation\n// TODO: Legacy, not needed anymore. Remove in next major version.\n\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype;\n return arr;\n};\n\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number');\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length);\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset);\n }\n\n return fromObject(that, value);\n}\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length);\n};\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n\n if (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n });\n }\n}\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number');\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative');\n }\n}\n\nfunction alloc(that, size, fill, encoding) {\n assertSize(size);\n\n if (size <= 0) {\n return createBuffer(that, size);\n }\n\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string' ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill);\n }\n\n return createBuffer(that, size);\n}\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\n\n\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding);\n};\n\nfunction allocUnsafe(that, size) {\n assertSize(size);\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0;\n }\n }\n\n return that;\n}\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\n\n\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size);\n};\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\n\n\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size);\n};\n\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding');\n }\n\n var length = byteLength(string, encoding) | 0;\n that = createBuffer(that, length);\n var actual = that.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual);\n }\n\n return that;\n}\n\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n that = createBuffer(that, length);\n\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255;\n }\n\n return that;\n}\n\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength; // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds');\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds');\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array);\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset);\n } else {\n array = new Uint8Array(array, byteOffset, length);\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array;\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array);\n }\n\n return that;\n}\n\nfunction fromObject(that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n that = createBuffer(that, len);\n\n if (that.length === 0) {\n return that;\n }\n\n obj.copy(that, 0, 0, len);\n return that;\n }\n\n if (obj) {\n if (typeof ArrayBuffer !== 'undefined' && obj.buffer instanceof ArrayBuffer || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0);\n }\n\n return fromArrayLike(that, obj);\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data);\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + kMaxLength().toString(16) + ' bytes');\n }\n\n return length | 0;\n}\n\nfunction SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n\n return Buffer.alloc(+length);\n}\n\nBuffer.isBuffer = function isBuffer(b) {\n return !!(b != null && b._isBuffer);\n};\n\nBuffer.compare = function compare(a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers');\n }\n\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n\n default:\n return false;\n }\n};\n\nBuffer.concat = function concat(list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n var i;\n\n if (length === undefined) {\n length = 0;\n\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n var buffer = Buffer.allocUnsafe(length);\n var pos = 0;\n\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n\n return buffer;\n};\n\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength;\n }\n\n if (typeof string !== 'string') {\n string = '' + string;\n }\n\n var len = string.length;\n if (len === 0) return 0; // Use a for loop to avoid recursion\n\n var loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length;\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n\n case 'hex':\n return len >>> 1;\n\n case 'base64':\n return base64ToBytes(string).length;\n\n default:\n if (loweredCase) return utf8ToBytes(string).length; // assume utf8\n\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n}\n\nBuffer.byteLength = byteLength;\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false; // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\n if (start === undefined || start < 0) {\n start = 0;\n } // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n\n\n if (start > this.length) {\n return '';\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return '';\n } // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\n\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return '';\n }\n\n if (!encoding) encoding = 'utf8';\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n\n case 'ascii':\n return asciiSlice(this, start, end);\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n\n case 'base64':\n return base64Slice(this, start, end);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = (encoding + '').toLowerCase();\n loweredCase = true;\n }\n }\n} // The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\n\n\nBuffer.prototype._isBuffer = true;\n\nfunction swap(b, n, m) {\n var i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length;\n\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n\n return this;\n};\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length;\n\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n\n return this;\n};\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length;\n\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n\n return this;\n};\n\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n};\n\nBuffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n};\n\nBuffer.prototype.inspect = function inspect() {\n var str = '';\n var max = exports.INSPECT_MAX_BYTES;\n\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ');\n if (this.length > max) str += ' ... ';\n }\n\n return '';\n};\n\nBuffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer');\n }\n\n if (start === undefined) {\n start = 0;\n }\n\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n\n if (thisStart === undefined) {\n thisStart = 0;\n }\n\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n\n if (thisStart >= thisEnd) {\n return -1;\n }\n\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n var x = thisEnd - thisStart;\n var y = end - start;\n var len = Math.min(x, y);\n var thisCopy = this.slice(thisStart, thisEnd);\n var targetCopy = target.slice(start, end);\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n}; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\n\n\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1; // Normalize byteOffset\n\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n\n byteOffset = +byteOffset; // Coerce to Number.\n\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n } // Normalize byteOffset: negative offsets start from the end of the buffer\n\n\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n } // Normalize val\n\n\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n } // Finally, search either indexOf (if dir is true) or lastIndexOf\n\n\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xFF; // Search for a byte value [0-255]\n\n if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError('val must be string, number or Buffer');\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1;\n var arrLength = arr.length;\n var valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n\n if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n\n var i;\n\n if (dir) {\n var foundIndex = -1;\n\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\n for (i = byteOffset; i >= 0; i--) {\n var found = true;\n\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n\n if (found) return i;\n }\n }\n\n return -1;\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n var remaining = buf.length - offset;\n\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n\n if (length > remaining) {\n length = remaining;\n }\n } // must be an even number of digits\n\n\n var strLen = string.length;\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string');\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16);\n if (isNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n\n return i;\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\n\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length);\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0; // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0; // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n\n if (isFinite(length)) {\n length = length | 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n } // legacy write(string, encoding, offset, length) - remove in v0.13\n\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n\n if (!encoding) encoding = 'utf8';\n var loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n\n case 'ascii':\n return asciiWrite(this, string, offset, length);\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length);\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n};\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n var res = [];\n var i = start;\n\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n\n break;\n\n case 2:\n secondByte = buf[i + 1];\n\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD;\n bytesPerSequence = 1;\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n} // Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\n\n\nvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length;\n\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n } // Decode in chunks to avoid \"call stack size exceeded\".\n\n\n var res = '';\n var i = 0;\n\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n\n return res;\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F);\n }\n\n return ret;\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n\n return ret;\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n var out = '';\n\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i]);\n }\n\n return out;\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end);\n var res = '';\n\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n\n return res;\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n var newBuf;\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n\n return newBuf;\n};\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\n\n\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n};\n\nBuffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n var val = this[offset + --byteLength];\n var mul = 1;\n\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n};\n\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n};\n\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n};\n\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n};\n\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n};\n\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n};\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var i = byteLength;\n var mul = 1;\n var val = this[offset + --i];\n\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n};\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset] | this[offset + 1] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | this[offset] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n};\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n};\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n};\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n};\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n};\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n};\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var mul = 1;\n var i = 0;\n this[offset] = value & 0xFF;\n\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var i = byteLength - 1;\n var mul = 1;\n this[offset + i] = value & 0xFF;\n\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n this[offset] = value & 0xff;\n return offset + 1;\n};\n\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1;\n\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & 0xff << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8;\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n\n return offset + 2;\n};\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n\n return offset + 2;\n};\n\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1;\n\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 0xff;\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n\n return offset + 4;\n};\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n\n return offset + 4;\n};\n\nBuffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value & 0xFF;\n\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n var i = byteLength - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value & 0xFF;\n\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n};\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n\n return offset + 2;\n};\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n\n return offset + 2;\n};\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n\n return offset + 4;\n};\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n\n return offset + 4;\n};\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n};\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n};\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n};\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n}; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\n\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done\n\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions\n\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds');\n if (end < 0) throw new RangeError('sourceEnd out of bounds'); // Are we oob?\n\n if (end > this.length) end = this.length;\n\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n var len = end - start;\n var i;\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart);\n }\n\n return len;\n}; // Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\n\n\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n\n if (code < 256) {\n val = code;\n }\n }\n\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n } // Invalid ranges are not set to a default, so can range check early.\n\n\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n var i;\n\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString());\n var len = bytes.length;\n\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n}; // HELPER FUNCTIONS\n// ================\n\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g;\n\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, ''); // Node converts strings with length < 2 to ''\n\n if (str.length < 2) return ''; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\n while (str.length % 4 !== 0) {\n str = str + '=';\n }\n\n return str;\n}\n\nfunction stringtrim(str) {\n if (str.trim) return str.trim();\n return str.replace(/^\\s+|\\s+$/g, '');\n}\n\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16);\n return n.toString(16);\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i); // is surrogate component\n\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } // valid lead\n\n\n leadSurrogate = codePoint;\n continue;\n } // 2 leads in a row\n\n\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue;\n } // valid surrogate pair\n\n\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n\n leadSurrogate = null; // encode utf8\n\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else {\n throw new Error('Invalid code point');\n }\n }\n\n return bytes;\n}\n\nfunction asciiToBytes(str) {\n var byteArray = [];\n\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF);\n }\n\n return byteArray;\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo;\n var byteArray = [];\n\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n}\n\nfunction base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n\n return i;\n}\n\nfunction isnan(val) {\n return val !== val; // eslint-disable-line no-self-compare\n}","'use strict';\n\nexports.byteLength = byteLength;\nexports.toByteArray = toByteArray;\nexports.fromByteArray = fromByteArray;\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n} // Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\n\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens(b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4');\n } // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n\n\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n} // base64 is 4/3 + up to two characters of the original data\n\n\nfunction byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\n\nfunction _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\n\nfunction toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars\n\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 0xFF;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr;\n}\n\nfunction tripletToBase64(num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n\n return output.join('');\n}\n\nfunction fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n // go through the array every three bytes, we'll deal with trailing stuff later\n\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n } // pad the end with zeros, but make sure to not forget the extra bytes\n\n\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');\n }\n\n return parts.join('');\n}","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = e << mLen | m;\n eLen += mLen;\n\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};","import Highcharts from 'highcharts';\n\nrequire('highcharts/modules/funnel')(Highcharts);\n\n$(() => {\n // RG CALCULATOR USAGE CHART\n const $calculator_chart_div = $('#rg-calculator-usage-chart');\n\n if ($calculator_chart_div.length) {\n const point_width = 26;\n\n Highcharts.chart('rg-calculator-usage-chart', {\n chart: {\n styledMode: true,\n type: 'bar',\n },\n credits: { enabled: false },\n legend: { enabled: false },\n plotOptions: {\n series: {\n dataLabels: {\n align: 'left',\n enabled: true,\n inside: true,\n formatter() {\n const color = this.y === 0 ? 'black' : 'white';\n return `${this.y}`;\n }\n },\n pointWidth: point_width\n }\n },\n series: $calculator_chart_div.data('calculator-series'),\n title: {\n align: 'left',\n margin: 20,\n text: $calculator_chart_div.data('title')\n },\n tooltip: {\n headerFormat: '',\n pointFormat: '{point.y} analyses started'\n },\n xAxis: {\n categories: $calculator_chart_div.data('calculator-names')\n },\n yAxis: {\n visible: false\n }\n }, (chart) => { // chart is too tall without this - https://www.highcharts.com/forum/viewtopic.php?t=32737\n const w = $('#rg-calculator-usage-chart').width();\n const h = $('#rg-calculator-usage-chart').height();\n const box = chart.plotBox;\n const len = chart.series[0].data.length;\n\n chart.setSize(w, h - box.height + len * point_width * 1.4);\n });\n }\n\n // REP PERFORMANCE CHART\n\n const $rg_chart_div = $('#rep-performance-chart');\n let rg_chart = null;\n\n if ($rg_chart_div.length) {\n rg_chart = Highcharts.chart('rep-performance-chart', {\n chart: {\n styledMode: true,\n type: 'scatter',\n zoomType: 'xy'\n },\n credits: { enabled: false },\n legend: { enabled: false },\n plotOptions: {\n series: {\n dataLabels: {\n align: 'left',\n enabled: true,\n format: '{point.name}'\n }\n }\n },\n tooltip: {\n formatter() {\n return `${this.key}
            ${Math.round(this.y)} started, ${Math.round(this.x)} sent`;\n }\n },\n series: $rg_chart_div.data('saved-vs-sent-series'),\n title: {\n align: 'left',\n margin: 32,\n text: $rg_chart_div.data('title')\n },\n xAxis: {\n allowDecimals: false,\n max: $rg_chart_div.data('max-sent') + 1,\n min: 0,\n title: {\n enabled: true,\n text: 'Number of analyses saved & sent to prospects'\n }\n },\n yAxis: {\n allowDecimals: false,\n gridLineWidth: 0,\n max: $rg_chart_div.data('max-saved') + 1,\n min: 0,\n title: {\n text: 'Number of analyses started by reps'\n }\n }\n }, (chart) => {\n const width = chart.plotBox.width / 2.0;\n const height = (chart.plotBox.height / 2.0) + 1;\n const x_left = 15;\n const y_top = 25;\n const x_top_right = width * 0.7;\n const y_bottom = 125;\n const x_bottom_right = width * 0.5;\n\n // ACTIVE/LESS PRODUCTIVE\n chart.renderer.rect(chart.plotBox.x, chart.plotBox.y, width, height, 1).attr({\n borderColor: '#1000',\n borderWidth: '1',\n fill: '#F5F5F5',\n zIndex: 0\n }).add();\n\n // POWER USERS\n chart.renderer.rect(chart.plotBox.x + width, chart.plotBox.y, width, height, 1).attr({\n fill: '#d2deef',\n zIndex: 0\n }).add();\n\n // LIGHTER USERS\n chart.renderer.rect(chart.plotBox.x, chart.plotBox.y + height, width, height, 1).attr({\n fill: '#f7f8fc',\n zIndex: 0\n }).add();\n\n // PRODUCTIVE/LESS ACTIVE\n chart.renderer.rect(chart.plotBox.x + width, chart.plotBox.y + height, width, height, 1).attr({\n fill: '#F5F5F5',\n zIndex: 0\n }).add();\n chart.renderer.text('ACTIVE / LESS PRODUCTIVE', chart.plotBox.x + x_left, chart.plotBox.y + y_top).attr({\n zIndex: 1\n }).css({\n color: '#474747'\n }).add();\n chart.renderer.text('POWER USERS', chart.plotBox.x + width + x_top_right, chart.plotBox.y + y_top).attr({\n zIndex: 1\n }).css({\n color: '#1c1d4d',\n }).add();\n chart.renderer.text('LIGHTER USERS', chart.plotBox.x + x_left, chart.plotBox.y + height + y_bottom).attr({\n zIndex: 1\n }).css({\n color: '#1c1d4d',\n }).add();\n return chart.renderer.text(\n 'PRODUCTIVE / LESS ACTIVE', chart.plotBox.x + width + x_bottom_right, chart.plotBox.y + height + y_bottom\n ).attr({\n zIndex: 1\n }).css({\n color: '#474747',\n }).add();\n });\n }\n\n // SS FUNNEL CHART\n\n const $ss_chart_div = $('#ss-funnel-chart');\n let ss_chart = null;\n\n if ($ss_chart_div.length) {\n ss_chart = Highcharts.chart('ss-funnel-chart', {\n chart: {\n styledMode: true,\n type: 'funnel',\n },\n credits: { enabled: false },\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true,\n format: '{point.name} ({point.y:,.0f})',\n softConnector: true\n },\n neckWidth: '30%',\n neckHeight: '25%'\n }\n },\n series: $ss_chart_div.data('calculator-series'),\n title: {\n align: 'left',\n margin: 32,\n text: $ss_chart_div.data('title')\n },\n tooltip: {\n formatter() {\n return `${this.key} - ${$ss_chart_div.data('chart-details')[this.key]}`;\n }\n }\n });\n }\n\n // DATE PICKER\n\n const report_range_initialize = (start, end) => $('#report-range span').html(\n `${start.format('MMMM D, YYYY')} - ${end.format('MMMM D, YYYY')}`\n );\n\n report_range_initialize(moment().subtract(29, 'days'), moment());\n\n const report_range_callback = function(start, end) {\n // if we're on a page for a specific calculator, the chart will have the calculator ID\n const url = (() => {\n if ($('div[data-calculator-id]').length > 0) {\n const calculator_id = $('div[data-calculator-id]').first().data('calculator-id');\n return `/admin/reports/${calculator_id}`;\n }\n return '/admin/dashboard';\n })();\n\n $.ajax({\n type: 'POST',\n url,\n data: {\n _method: 'PUT',\n start_date: start.format('YYYY-MM-DD'),\n end_date: end.format('YYYY-MM-DD')\n },\n dataType: 'json',\n success(response) {\n if (response.rg_total_sessions != null) {\n $('.rep-guided-activity .total-sessions-js').text(response.rg_total_sessions);\n $('.rep-guided-activity .total-saved-sessions-js').text(response.rg_total_saved_sessions);\n $('.rep-guided-activity .total-saved-and-sent-sessions-js').text(response.rg_total_saved_and_sent_sessions);\n $('.rep-guided-activity').addClass('activity-updated-js');\n\n if (rg_chart) {\n const rep_new_performance_series = $.parseJSON(response.rg_saved_vs_sent_data_series);\n\n // all the \"false\" flags tell Highcharts not to redraw - we'll redraw after we update all the data\n while (rg_chart.series.length > 0) {\n rg_chart.series[0].remove(false);\n }\n\n let i = 0;\n while (i < rep_new_performance_series.length) {\n rg_chart.addSeries(rep_new_performance_series[i], false);\n i += 1;\n }\n\n rg_chart.xAxis[0].setExtremes(0, parseInt(response.rg_max_sent, 10) + 1, false);\n rg_chart.yAxis[0].setExtremes(0, parseInt(response.rg_max_saved, 10) + 1, false);\n rg_chart.redraw();\n\n if (response.rg_calculator_data_series != null) { // for dashboard page only\n $calculator_chart_div.highcharts().series[0].setData(\n response.rg_calculator_data_series[0].data\n );\n }\n }\n }\n\n if (ss_chart && response.ss_total_sessions != null) {\n $('.self-service-activity .total-sessions-js').text(response.ss_total_sessions);\n $('.self-service-activity .total-saved-sessions-js').text(response.ss_total_saved_sessions);\n $('.self-service-activity .total-saved-and-sent-sessions-js').text(response.ss_total_saved_and_sent_sessions);\n $('.self-service-activity').addClass('activity-updated-js');\n\n $ss_chart_div.data('chart-details', response.ss_funnel_details);\n ss_chart.series[0].setData(response.ss_funnel_data_series[0].data, false);\n ss_chart.redraw();\n\n if (response.ss_total_sessions === 0) {\n $ss_chart_div.hide();\n } else {\n $ss_chart_div.show();\n }\n }\n }\n });\n\n return $('#report-range span').html(`${start.format('MMMM D, YYYY')} - ${end.format('MMMM D, YYYY')}`);\n };\n\n const date_range_options = {\n autoApply: false,\n ranges: {\n 'Past 7 Days': [\n moment().subtract(6, 'days'),\n moment()\n ],\n 'Past 30 Days': [\n moment().subtract(29, 'days'),\n moment()\n ],\n 'Past 3 Months': [\n moment().subtract(3, 'month'),\n moment()\n ],\n 'Past 6 Months': [\n moment().subtract(6, 'month'),\n moment()\n ],\n 'Past 1 Year': [\n moment().subtract(12, 'month')\n ],\n 'Past 2 Years': [\n moment().subtract(24, 'month')\n ],\n 'Past 3 Years': [\n moment().subtract(36, 'month')\n ]\n }\n };\n\n $('#report-range').daterangepicker(date_range_options, report_range_callback);\n\n const analysis_range_initialize = (start, end) => $('#analysis-range span').html(\n `${start.format('MMMM D, YYYY')} - ${end.format('MMMM D, YYYY')}`\n );\n\n analysis_range_initialize(moment($('#start-date').val()), moment($('#end-date').val()));\n\n const analysis_range_callback = function(start, end) {\n $('#start-date').val(start.format('YYYY-MM-DD'));\n $('#end-date').val(end.format('YYYY-MM-DD'));\n return $('#analysis-range span').html(`${start.format('MMMM D, YYYY')} - ${end.format('MMMM D, YYYY')}`);\n };\n\n return $('#analysis-range').daterangepicker(date_range_options, analysis_range_callback);\n});\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*\n Highcharts JS v10.3.2 (2022-11-28)\n\n Highcharts funnel module\n\n (c) 2010-2021 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function (a) {\n \"object\" === (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) && module.exports ? (a[\"default\"] = a, module.exports = a) : \"function\" === typeof define && define.amd ? define(\"highcharts/modules/funnel\", [\"highcharts\"], function (n) {\n a(n);\n a.Highcharts = n;\n return a;\n }) : a(\"undefined\" !== typeof Highcharts ? Highcharts : void 0);\n})(function (a) {\n function n(a, l, f, d) {\n a.hasOwnProperty(l) || (a[l] = d.apply(null, f), \"function\" === typeof CustomEvent && window.dispatchEvent(new CustomEvent(\"HighchartsModuleLoaded\", {\n detail: {\n path: l,\n module: a[l]\n }\n })));\n }\n\n a = a ? a._modules : {};\n n(a, \"Series/Funnel/FunnelSeries.js\", [a[\"Core/Chart/Chart.js\"], a[\"Core/Globals.js\"], a[\"Core/Series/SeriesRegistry.js\"], a[\"Core/Utilities.js\"]], function (a, l, f, d) {\n var n = this && this.__extends || function () {\n var _a = function a(b, g) {\n _a = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (g, e) {\n g.__proto__ = e;\n } || function (g, e) {\n for (var a in e) {\n e.hasOwnProperty(a) && (g[a] = e[a]);\n }\n };\n\n return _a(b, g);\n };\n\n return function (b, g) {\n function D() {\n this.constructor = b;\n }\n\n _a(b, g);\n\n b.prototype = null === g ? Object.create(g) : (D.prototype = g.prototype, new D());\n };\n }(),\n J = l.noop,\n y = f.series,\n c = f.seriesTypes.pie;\n\n l = d.addEvent;\n var z = d.extend,\n L = d.fireEvent,\n A = d.isArray,\n B = d.merge,\n I = d.pick;\n\n d = function (a) {\n function b() {\n var g = null !== a && a.apply(this, arguments) || this;\n g.data = void 0;\n g.options = void 0;\n g.points = void 0;\n return g;\n }\n\n n(b, a);\n\n b.prototype.alignDataLabel = function (g, a, e, b, k) {\n var u = g.series;\n b = u.options.reversed;\n var h = g.dlBox || g.shapeArgs,\n d = e.align,\n c = e.verticalAlign,\n f = ((u.options || {}).dataLabels || {}).inside,\n m = u.center[1];\n u = u.getWidthAt((b ? 2 * m - g.plotY : g.plotY) - h.height / 2 + a.height);\n u = \"middle\" === c ? (h.topWidth - h.bottomWidth) / 4 : (u - h.bottomWidth) / 2;\n m = h.y;\n var p = h.x,\n D = I(a.height, a.getBBox().height);\n \"middle\" === c ? m = h.y - h.height / 2 + D / 2 : \"top\" === c && (m = h.y - h.height + D + e.padding);\n if (\"top\" === c && !b || \"bottom\" === c && b || \"middle\" === c) \"right\" === d ? p = h.x - e.padding + u : \"left\" === d && (p = h.x + e.padding - u);\n b = {\n x: p,\n y: b ? m - h.height : m,\n width: h.bottomWidth,\n height: h.height\n };\n e.verticalAlign = \"bottom\";\n f && !g.visible || y.prototype.alignDataLabel.call(this, g, a, e, b, k);\n f && (!g.visible && g.dataLabel && (g.dataLabel.placed = !1), g.contrastColor && a.css({\n color: g.contrastColor\n }));\n };\n\n b.prototype.drawDataLabels = function () {\n var a = this.data,\n b = this.options.dataLabels.distance,\n e,\n c = a.length;\n\n for (this.center[2] -= 2 * b; c--;) {\n var k = a[c];\n var d = (e = k.half) ? 1 : -1;\n var h = k.plotY;\n k.labelDistance = I(k.options.dataLabels && k.options.dataLabels.distance, b);\n this.maxLabelDistance = Math.max(k.labelDistance, this.maxLabelDistance || 0);\n var y = this.getX(h, e, k);\n k.labelPosition = {\n natural: {\n x: 0,\n y: h\n },\n \"final\": {},\n alignment: e ? \"right\" : \"left\",\n connectorPosition: {\n breakAt: {\n x: y + (k.labelDistance - 5) * d,\n y: h\n },\n touchingSliceAt: {\n x: y + k.labelDistance * d,\n y: h\n }\n }\n };\n }\n\n f.seriesTypes[this.options.dataLabels.inside ? \"column\" : \"pie\"].prototype.drawDataLabels.call(this);\n };\n\n b.prototype.translate = function () {\n function a(a, b) {\n return /%$/.test(a) ? b * parseInt(a, 10) / 100 : parseInt(a, 10);\n }\n\n var b = 0,\n e = this,\n c = e.chart,\n k = e.options,\n d = k.reversed,\n h = k.ignoreHiddenPoint,\n f = c.plotWidth;\n c = c.plotHeight;\n var y = 0,\n l = k.center,\n m = a(l[0], f),\n p = a(l[1], c),\n n = a(k.width, f),\n v,\n w = a(k.height, c),\n z = a(k.neckWidth, f),\n H = a(k.neckHeight, c),\n A = p - w / 2 + w - H;\n f = e.data;\n var B,\n F,\n K = \"left\" === k.dataLabels.position ? 1 : 0,\n E,\n q,\n G,\n x,\n r,\n C,\n t;\n\n e.getWidthAt = function (a) {\n var b = p - w / 2;\n return a > A || w === H ? z : z + (n - z) * (1 - (a - b) / (w - H));\n };\n\n e.getX = function (a, b, c) {\n return m + (b ? -1 : 1) * (e.getWidthAt(d ? 2 * p - a : a) / 2 + c.labelDistance);\n };\n\n e.center = [m, p, w];\n e.centerX = m;\n f.forEach(function (a) {\n h && !1 === a.visible || (b += a.y);\n });\n f.forEach(function (a) {\n t = null;\n F = b ? a.y / b : 0;\n q = p - w / 2 + y * w;\n r = q + F * w;\n v = e.getWidthAt(q);\n E = m - v / 2;\n G = E + v;\n v = e.getWidthAt(r);\n x = m - v / 2;\n C = x + v;\n q > A ? (E = x = m - z / 2, G = C = m + z / 2) : r > A && (t = r, v = e.getWidthAt(A), x = m - v / 2, C = x + v, r = A);\n d && (q = 2 * p - q, r = 2 * p - r, null !== t && (t = 2 * p - t));\n B = [[\"M\", E, q], [\"L\", G, q], [\"L\", C, r]];\n null !== t && B.push([\"L\", C, t], [\"L\", x, t]);\n B.push([\"L\", x, r], [\"Z\"]);\n a.shapeType = \"path\";\n a.shapeArgs = {\n d: B\n };\n a.percentage = 100 * F;\n a.plotX = m;\n a.plotY = (q + (t || r)) / 2;\n a.tooltipPos = [m, a.plotY];\n a.dlBox = {\n x: x,\n y: q,\n topWidth: G - E,\n bottomWidth: C - x,\n height: Math.abs(I(t, r) - q),\n width: NaN\n };\n a.slice = J;\n a.half = K;\n h && !1 === a.visible || (y += F);\n });\n L(e, \"afterTranslate\");\n };\n\n b.prototype.sortByAngle = function (a) {\n a.sort(function (a, b) {\n return a.plotY - b.plotY;\n });\n };\n\n b.defaultOptions = B(c.defaultOptions, {\n animation: !1,\n center: [\"50%\", \"50%\"],\n width: \"90%\",\n neckWidth: \"30%\",\n height: \"100%\",\n neckHeight: \"25%\",\n reversed: !1,\n size: !0,\n dataLabels: {\n connectorWidth: 1,\n verticalAlign: \"middle\"\n },\n states: {\n select: {\n color: \"#cccccc\",\n borderColor: \"#000000\"\n }\n }\n });\n return b;\n }(c);\n\n z(d.prototype, {\n animate: J\n });\n l(a, \"afterHideAllOverlappingLabels\", function () {\n this.series.forEach(function (a) {\n var b = a.options && a.options.dataLabels;\n A(b) && (b = b[0]);\n a.is(\"pie\") && a.placeDataLabels && b && !b.inside && a.placeDataLabels();\n });\n });\n f.registerSeriesType(\"funnel\", d);\n \"\";\n return d;\n });\n n(a, \"Series/Pyramid/PyramidSeries.js\", [a[\"Series/Funnel/FunnelSeries.js\"], a[\"Core/Series/SeriesRegistry.js\"], a[\"Core/Utilities.js\"]], function (a, l, f) {\n var d = this && this.__extends || function () {\n var _a2 = function a(d, c) {\n _a2 = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (a, c) {\n a.__proto__ = c;\n } || function (a, c) {\n for (var d in c) {\n c.hasOwnProperty(d) && (a[d] = c[d]);\n }\n };\n\n return _a2(d, c);\n };\n\n return function (d, c) {\n function f() {\n this.constructor = d;\n }\n\n _a2(d, c);\n\n d.prototype = null === c ? Object.create(c) : (f.prototype = c.prototype, new f());\n };\n }(),\n n = f.merge;\n\n f = function (f) {\n function l() {\n var a = null !== f && f.apply(this, arguments) || this;\n a.data = void 0;\n a.options = void 0;\n a.points = void 0;\n return a;\n }\n\n d(l, f);\n l.defaultOptions = n(a.defaultOptions, {\n neckWidth: \"0%\",\n neckHeight: \"0%\",\n reversed: !0\n });\n return l;\n }(a);\n\n l.registerSeriesType(\"pyramid\", f);\n \"\";\n return f;\n });\n n(a, \"masters/modules/funnel.src.js\", [], function () {});\n});","$(() => {\n const report_range_initialize = (start, end) => $('#ss-report-range span').html(\n `${start.format('MMMM D, YYYY')} - ${end.format('MMMM D, YYYY')}`\n );\n\n report_range_initialize(moment().subtract(29, 'days'), moment());\n\n const date_range_options = {\n autoApply: false,\n ranges: {\n 'Past 7 Days': [\n moment().subtract(6, 'days'),\n moment()\n ],\n 'Past 30 Days': [\n moment().subtract(29, 'days'),\n moment()\n ],\n 'Past 3 Months': [\n moment().subtract(3, 'month'),\n moment()\n ],\n 'Past 6 Months': [\n moment().subtract(6, 'month'),\n moment()\n ],\n 'Past 1 Year': [\n moment().subtract(12, 'month')\n ],\n 'Past 2 Years': [\n moment().subtract(24, 'month')\n ],\n 'Past 3 Years': [\n moment().subtract(36, 'month')\n ]\n }\n };\n\n const report_range_callback = function(start, end) {\n $('#start_date').val(`${start.format('YYYY-MM-DD')}`);\n $('#end_date').val(`${end.format('YYYY-MM-DD')}`);\n\n return $('#ss-report-range span').html(`${start.format('MMMM D, YYYY')} - ${end.format('MMMM D, YYYY')}`);\n };\n\n $('#ss-report-range').daterangepicker(date_range_options, report_range_callback);\n});\n","$(() => {\n // the ROI Models menu is open by default after a client is picked - close it if we're not on one of its pages\n if ($('a[href=\"#roi-models-menu\"]').find('.active').length === 0) {\n $(this).removeClass('show');\n }\n\n // open the appropriate calculator nav menu\n $('.nav-item .active').closest('.collapse').addClass('show');\n\n // update the state of the navbar menu arrows as appropriate\n $('a[aria-expanded]').each(function() {\n if ($(this).closest('.nav-item').find('.active').length > 0) {\n $(this).attr('aria-expanded', 'true');\n }\n });\n\n // pass the calculator path to the form for starting the session and clear the info from the previous prospect\n $('a[data-target=\"#start-calculator-session-modal\"]').click(function() {\n $('#start-calculator-session-form input[type=\"text\"]').val('');\n $('#start-calculator-session-form input[name=\"path\"]').val($(this).data('path'));\n\n const rg_pricing_optional = $(this).data('repGuidedPricingOptional');\n if (rg_pricing_optional === true) {\n $('.hide-pricing-row').slideDown(0);\n } else {\n $('.hide-pricing-row').slideUp(0);\n }\n\n return true;\n });\n\n // validate the form for starting the session, and close the modal on success\n $('#start-calculator-session-form').submit(function() {\n $(this).find('input').each(function() {\n const $container = $(this).closest('.float-label-container');\n const $label = $container.find('label');\n\n // Skip optional inputs\n if ($(this).hasClass('optional')) { return true; }\n\n if ($(this).val().length > 0) {\n $container.removeClass('is-invalid');\n $label.removeClass('text-danger');\n } else {\n $container.addClass('is-invalid');\n $label.addClass('text-danger');\n }\n });\n\n if ($(this).find('.is-invalid').length > 0) { return false; }\n $('#start-calculator-session-modal').modal('hide');\n return true;\n });\n\n // clear any error classes as the user goes\n $('#start-calculator-session-form input').blur(function() {\n if ($(this).val().length > 0) {\n const $container = $(this).closest('.float-label-container');\n const $label = $container.find('label');\n $container.removeClass('is-invalid');\n $label.removeClass('text-danger');\n }\n });\n});\n","$(() => {\n $('.archive-link, .edit-link').click(function() {\n $(this).closest('tr').find('.link-spinner').show();\n });\n\n $('.archive-link').on('ajax:success', (event, xhr) => {\n $('.link-spinner').hide();\n $(`#cvm-row-${xhr.cvm_id}`).hide('slow');\n });\n\n $('.archive-link').on('ajax:error', () => {\n $('.link-spinner').hide();\n alert('Failed to update the session. Please try again later.'); // eslint-disable-line no-undef, no-alert\n });\n\n $('.edit-link').on('ajax:success', (event, xhr) => {\n $('#edit-prospect-org-name').val(xhr.prospect_org_name);\n $('#edit-contact-first-name').val(xhr.contact_first_name);\n $('#edit-contact-last-name').val(xhr.contact_last_name);\n $('#edit-contact-email').val(xhr.contact_email);\n $('#edit-salesforce-opportunity-id').val(xhr.salesforce_opportunity_id);\n $('#edit-cvm-id').val(xhr.cvm_id);\n\n if ('hide_pricing' in xhr) {\n $('#hide-pricing-container-edit').slideDown(0);\n $('#edit-hide-pricing').attr('disabled', false);\n $('#hide-pricing-container-edit').insertBefore($('#edit-prospect-form input[type=\"submit\"]').parent().parent());\n if (xhr.hide_pricing) {\n $('#edit-hide-pricing').attr('checked', true);\n } else {\n $('#edit-hide-pricing').attr('checked', false);\n }\n } else {\n $('#hide-pricing-container-edit').appendTo($('footer'));\n $('#hide-pricing-container-edit').slideUp(0);\n $('#edit-hide-pricing').attr('disabled', true);\n }\n\n $('#edit-prospect-modal').modal('show');\n $('.link-spinner').hide();\n });\n\n $('.edit-link').on('ajax:error', () => {\n $('.link-spinner').hide();\n alert('Failed to retrieve prospect information. Please try again later.'); // eslint-disable-line no-undef, no-alert\n });\n\n $('#edit-prospect-form').submit(function() {\n $(this).find('input').each(function() {\n const $container = $(this).closest('.float-label-container');\n const $label = $container.find('label');\n\n // Skip optional inputs\n if ($(this).hasClass('optional')) { return true; }\n\n if ($(this).val().length > 0) {\n $container.removeClass('is-invalid');\n $label.removeClass('text-danger');\n } else {\n $container.addClass('is-invalid');\n $label.addClass('text-danger');\n }\n });\n\n if ($(this).find('.is-invalid').length > 0) { return false; }\n $('.form-spinner').show();\n return true;\n });\n\n $('#edit-prospect-form').on('ajax:success', (event, xhr) => {\n $(`#cvm-row-${xhr.cvm_id} .prospect-org-name`).text(xhr.prospect_org_name);\n $('.form-spinner').hide();\n $('#edit-prospect-modal').modal('hide');\n $('#edit-prospect-form .form-control').val('');\n });\n\n $('#edit-prospect-form').on('ajax:error', () => {\n $('.form-spinner').hide();\n alert('Failed to update prospect information. Please try again later.'); // eslint-disable-line no-undef, no-alert\n });\n});\n"],"sourceRoot":""}