{"version":3,"sources":["webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/@stimulus/core/dist/src/event_listener.js","webpack:///./node_modules/@stimulus/core/dist/src/dispatcher.js","webpack:///./node_modules/@stimulus/core/dist/src/action_descriptor.js","webpack:///./node_modules/@stimulus/core/dist/src/action.js","webpack:///./node_modules/@stimulus/core/dist/src/binding.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/src/element_observer.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/src/attribute_observer.js","webpack:///./node_modules/@stimulus/multimap/dist/src/set_operations.js","webpack:///./node_modules/@stimulus/multimap/dist/src/multimap.js","webpack:///./node_modules/@stimulus/multimap/dist/src/indexed_multimap.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/src/token_list_observer.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/src/value_list_observer.js","webpack:///./node_modules/@stimulus/core/dist/src/binding_observer.js","webpack:///./node_modules/@stimulus/core/dist/src/context.js","webpack:///./node_modules/@stimulus/core/dist/src/definition.js","webpack:///./node_modules/@stimulus/core/dist/src/module.js","webpack:///./node_modules/@stimulus/core/dist/src/data_map.js","webpack:///./node_modules/@stimulus/core/dist/src/selectors.js","webpack:///./node_modules/@stimulus/core/dist/src/target_set.js","webpack:///./node_modules/@stimulus/core/dist/src/scope.js","webpack:///./node_modules/@stimulus/core/dist/src/scope_observer.js","webpack:///./node_modules/@stimulus/core/dist/src/router.js","webpack:///./node_modules/@stimulus/core/dist/src/schema.js","webpack:///./node_modules/@stimulus/core/dist/src/application.js","webpack:///./node_modules/@stimulus/core/dist/src/target_properties.js","webpack:///./node_modules/@stimulus/core/dist/src/controller.js","webpack:///./node_modules/autocomplete.js/src/common/utils.js","webpack:///./node_modules/autocomplete.js/src/common/dom.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/autocomplete.js/src/autocomplete/event_emitter.js","webpack:///./node_modules/autocomplete.js/src/autocomplete/css.js","webpack:///./node_modules/autocomplete.js/index.js","webpack:///./node_modules/autocomplete.js/src/autocomplete/event_bus.js","webpack:///./node_modules/autocomplete.js/src/autocomplete/html.js","webpack:///./node_modules/autocomplete.js/version.js","webpack:///./node_modules/autocomplete.js/src/common/parseAlgoliaClientVersion.js","webpack:///./node_modules/auth0-js/dist/auth0.min.esm.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/autocomplete.js/src/standalone/index.js","webpack:///./node_modules/autocomplete.js/zepto.js","webpack:///./node_modules/autocomplete.js/src/autocomplete/typeahead.js","webpack:///./node_modules/autocomplete.js/src/autocomplete/input.js","webpack:///./node_modules/immediate/lib/index.js","webpack:///./node_modules/immediate/lib/queueMicrotask.js","webpack:///./node_modules/immediate/lib/mutation.js","webpack:///./node_modules/immediate/lib/messageChannel.js","webpack:///./node_modules/immediate/lib/stateChange.js","webpack:///./node_modules/immediate/lib/timeout.js","webpack:///./node_modules/autocomplete.js/src/autocomplete/dropdown.js","webpack:///./node_modules/autocomplete.js/src/autocomplete/dataset.js","webpack:///./node_modules/autocomplete.js/src/sources/index.js","webpack:///./node_modules/autocomplete.js/src/sources/hits.js","webpack:///./node_modules/autocomplete.js/src/sources/popularIn.js","webpack:///./node_modules/process/browser.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/@stimulus/webpack-helpers/dist/index.js"],"names":["module","exports","hookCallback","some","hooks","apply","arguments","setHookCallback","callback","isArray","input","Array","Object","prototype","toString","call","isObject","hasOwnProp","a","b","hasOwnProperty","isObjectEmpty","obj","getOwnPropertyNames","length","k","isUndefined","isNumber","isDate","Date","map","arr","fn","i","res","arrLen","push","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","m","_pf","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","set","_config","_dayOfMonthOrdinalParseLenient","RegExp","_dayOfMonthOrdinalParse","source","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","mom","now","output","_calendar","zeroFill","number","targetLength","forceSign","absNumber","Math","abs","zerosToFill","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","func","localeData","removeFormattingTokens","match","replace","makeFormatFunction","array","formatMoment","expandFormat","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","_longDateFormat","formatUpper","toUpperCase","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","future","past","s","ss","mm","h","hh","d","dd","w","ww","M","MM","y","yy","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","u","sort","isLeapYear","year","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","makeGetSet","keepTime","set$1","get","month","date","daysInMonth","stringGet","stringSet","prioritized","prioritizedLen","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","indexOf","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","n","x","modMonth","o","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","split","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","min","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","parseInt","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","ws","concat","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","charAt","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","dayOfMonthOrdinalParse","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","j","next","loadLocale","isLocaleNameSane","oldLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","parentLocale","forEach","updateLocale","tmpLocale","listLocales","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","exec","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","defaults","c","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","hour","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","parts","matches","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","tmp","isAdding","invalid","isString","String","isMomentInput","isNumberOrStringArray","isMomentInputObject","property","objectTest","propertyTest","properties","propertyLen","arrayTest","dataTypeTest","filter","item","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","prefix","datetime","suffix","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","Symbol","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","th","assign","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","factory","EventListener","eventTarget","eventName","unorderedBindings","Set","connect","addEventListener","disconnect","removeEventListener","bindingConnected","binding","bindingDisconnected","delete","handleEvent","event","extendedEvent","stopImmediatePropagation_1","stopImmediatePropagation","immediatePropagationStopped","extendEvent","bindings","defineProperty","left","right","leftIndex","rightIndex","enumerable","configurable","Dispatcher","application","eventListenerMaps","Map","started","start","eventListeners","eventListener","stop","reduce","listeners","fetchEventListenerForBinding","handleError","error","message","detail","fetchEventListener","eventListenerMap","fetchEventListenerMapForEventTarget","createEventListener","descriptorPattern","parseEventTarget","eventTargetName","window","document","Action","element","descriptor","tagName","defaultEventNames","getDefaultEventNameForElement","identifier","methodName","forToken","descriptorString","content","trim","eventNameSuffix","getAttribute","Binding","context","action","willBeInvokedByEvent","invokeWithEvent","method","controller","target","Element","contains","scope","containsElement","ElementObserver","delegate","_this","elements","mutationObserver","MutationObserver","mutations","processMutations","observe","attributes","childList","subtree","refresh","takeRecords","matchElementsInTree","has","removeElement","_b","_c","addElement","mutations_1","mutation","processMutation","type","processAttributeChange","attributeName","processRemovedNodes","removedNodes","processAddedNodes","addedNodes","node","elementAttributeChanged","matchElement","nodes","elementFromNode","processTree","elementIsActive","tree","processor","nodeType","Node","ELEMENT_NODE","isConnected","elementMatched","elementUnmatched","AttributeObserver","elementObserver","hasAttribute","querySelectorAll","selector","elementMatchedAttribute","elementUnmatchedAttribute","elementAttributeValueChanged","fetch","del","size","prune","extendStatics","Multimap","valuesByKey","hasKey","hasValue","getValuesForKey","getKeysForValue","__extends","setPrototypeOf","__proto__","p","__","constructor","create","_super","IndexedMultimap","keysByValue","TokenListObserver","attributeObserver","tokensByElement","tokensMatched","readTokensForElement","refreshTokensForElement","unmatchedTokens","matchedTokens","tokensUnmatched","tokenMatched","tokenUnmatched","previousTokens","currentTokens","firstDifferingIndex","_","findIndex","tokensAreEqual","tokenString","parseTokenString","ValueListObserver","tokenListObserver","parseResultsByToken","WeakMap","valuesByTokenByElement","fetchParseResultForToken","fetchValuesByTokenForElement","elementMatchedValue","elementUnmatchedValue","parseResult","parseToken","valuesByToken","parseValueForToken","BindingObserver","bindingsByAction","valueListObserver","actionAttribute","disconnectAllActions","schema","connectAction","disconnectAction","clear","Context","controllerConstructor","bindingObserver","dispatcher","initialize","parentElement","blessControllerConstructor","bless","extendWithReflect","Controller","_newTarget","Reflect","construct","Module","definition","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","DataMap","getFormattedKey","setAttribute","removeAttribute","char","attributeValueContainsToken","TargetSet","targetName","find","targetNames","getSelectorForTargetNames","findElement","findAll","findAllElements","getSelectorForTargetName","targetDescriptor","targetAttribute","Scope","targets","head","tail","filterElements","closest","controllerSelector","controllerAttribute","ScopeObserver","scopesByIdentifierByElement","scopeReferenceCounts","scopesByIdentifier","fetchScopesByIdentifierForElement","referenceCount","scopeConnected","scopeDisconnected","Router","scopeObserver","modulesByIdentifier","modules","contexts","loadDefinition","unloadIdentifier","connectModule","disconnectModule","getContextForElementAndIdentifier","defaultSchema","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","done","then","__generator","body","f","g","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","Application","documentElement","router","readyState","register","load","rest","unload","getControllerForElementAndIdentifier","defineTargetProperties","ancestors","getPrototypeOf","getAncestorsForConstructor","getOwnTargetNamesForConstructor","getTargetNamesForConstructor","object","capitalize","counter","DOM","escapeRegExp","str","bind","each","mixin","isMsie","agentString","navigator","userAgent","escapeRegExChars","toStr","cloneDeep","self","every","any","found","getUniqueId","templatify","$template","text","defer","setTimeout","noop","formatPrefix","noPrefix","className","clazz","skipDot","escapeHighlightedString","highlightPreTag","highlightPostTag","pre","createElement","appendChild","createTextNode","post","div","innerHTML","immediate","splitter","on","types","cb","bindContext","_callbacks","sync","async","getFlush","callbacks","cancelled","onSync","onAsync","off","trigger","syncFlush","asyncFlush","css","wrapper","position","display","hint","top","borderColor","boxShadow","opacity","verticalAlign","backgroundColor","inputWithNoHint","dropdown","zIndex","suggestions","suggestion","whiteSpace","cursor","suggestionChild","ltr","rtl","defaultClasses","root","dropdownMenu","dataset","appendTo","backgroundImage","marginTop","EventBus","el","$el","Event","agent","parsed","commonjsGlobal","globalThis","global","createCommonjsModule","urlJoin","strArray","resultArray","first","component","normalize","urljoin","origSymbol","foo","$Object","functionBind","bound","boundLength","boundArgs","Empty","src","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols$1","getOwnPropertySymbols","sym","symObj","syms","propertyIsEnumerable","hasProto$1","getProto","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","JSON","Number","Proxy","RangeError","ReferenceError","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakRef","WeakSet","errorProto","LEGACY_ALIASES","$concat","$spliceApply","splice","$replace","$strSlice","$exec","rePropName","reEscapeChar","getIntrinsic","allowMissing","last","quote","subString","stringToPath","intrinsicBaseName","intrinsic","intrinsicName","doEval","gen","getBaseIntrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","desc","callBind","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","applyBind","$indexOf","callBound","semver","default","freeze","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","objectToString","functionToString","$match","$slice","$replace$1","$toUpperCase","$toLowerCase","$test","$concat$1","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","isEnumerable","gPO","O","addNumericSeparator","num","sepRegex","int","intStr","dec","inspectCustom","custom","inspectSymbol","isSymbol","objectInspect","inspect_","options","depth","seen","opts","quoteStyle","maxStringLength","customInspect","indent","numericSeparator","inspectString","remaining","trailer","wrapQuotes","lowbyte","bigIntStr","maxDepth","baseIndent","prev","noIndent","newOpts","isRegExp","arrObjKeys","symString","markBoxed","HTMLElement","nodeName","attrs","childNodes","xs","indentedJoin","toStr$1","cause","mapParts","collectionOf","setParts","weakCollectionOf","ys","isPlainObject","protoTag","stringTag","tag","defaultStyle","quoteChar","hasOwn","charCodeAt","entries","lineJoiner","isArr","symMap","$TypeError$1","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","curr","sideChannel","$wm","$m","$o","channel","assert","objects","percentTwenties","Format_RFC3986","formatters","RFC1738","RFC3986","has$1","isArray$1","hexTable","arrayToObject","plainObjects","utils","acc","combine","compact","queue","refs","compacted","decode","decoder","charset","strWithoutPlus","unescape","encode","defaultEncoder","kind","escape","$0","isBuffer","maybeMap","mapped","merge","allowPrototypes","mergeTarget","targetItem","has$2","arrayPrefixGenerators","brackets","comma","indices","repeat","isArray$2","pushToArray","valueOrArray","toISO","addQueryPrefix","allowDots","charsetSentinel","delimiter","encoder","encodeValuesOnly","formatter","serializeDate","skipNulls","strictNullHandling","sentinel","stringify","generateArrayPrefix","commaRoundTrip","sideChannel$1","tmpSc","findFlag","objKeys","adjustedPrefix","keyPrefix","valueSideChannel","has$3","isArray$3","defaults$1","allowSparse","arrayLimit","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","numberStr","fromCharCode","parseArrayValue","parseKeys","givenKey","valuesParsed","child","segment","parent","chain","leaf","cleanRoot","lib","parse","tempObj","cleanStr","skipIndex","bracketEqualsPos","encodedVal","newObj","arrayFormat","joined","componentEmitter","Emitter","once","removeListener","removeAllListeners","emit","hasListeners","fastSafeStringify","stringify$1","stable","deterministicStringify","stableStringify","replacerStack","defaultOptions","depthLimit","MAX_SAFE_INTEGER","edgesLimit","replacer","spacer","decirc","edgeIndex","setReplace","replaceGetterValues","propertyDescriptor","compareFunction","deterministicDecirc","utils$1","_typeof","_createForOfIteratorHelper","allowArrayLike","it","minLen","_arrayLikeToArray","F","_e","err","normalCompletion","didErr","_e2","return","string_","params","_step","_iterator","_value","parseLinks","_step2","_iterator2","url","cleanHeader","header","changesOrigin","host","authorization","cookie","hasOwn$1","requestBase","RequestBase","clearTimeout","_timer","_responseTimeoutTimer","_uploadTimeoutTimer","_parser","responseType","_responseType","serialize","_serializer","timeout","_timeout","_responseTimeout","_uploadTimeout","option","deadline","response","upload","retry","count","_maxRetries","_retries","_retryCallback","ERROR_CODES","STATUS_CODES","_shouldRetry","override","status","code","crossDomain","_retry","req","request","_aborted","timedout","timedoutError","_end","_fullfilledPromise","_endCalled","end","catch","use","ok","_okCallback","_isResponseOK","_header","getHeader","unset","_getFormData","append","abort","xhr","gte","process","lt","destroyed","_auth","user","pass","base64Encoder","username","password","withCredentials","_withCredentials","redirects","_maxRedirects","maxResponseSize","_maxResponseSize","headers","send","isObject_","_formData","_isHost","sortQuery","_sort","_finalizeQueryString","query","_query","includes","queryArray","_appendQueryString","_timeoutError","reason","errno","_setTimeouts","responseBase","ResponseBase","_toConsumableArray","iter","_unsupportedIterableToArray","Agent","_defaults","_setHeaderProperties","ct","parameters","links","link","_unused","_setStatusProperties","trunc","statusCode","statusType","info","redirect","clientError","serverError","toError","created","accepted","noContent","badRequest","unauthorized","notAcceptable","forbidden","notFound","unprocessableEntity","_loop","_arr","_len","_key","_setDefaults","def","agentBase","client","Request","getXHR","XMLHttpRequest","location","protocol","ActiveXObject","_unused2","_unused3","_unused4","pairs","pushEncodedKeyValuePair","subkey","parseString","pair","length_","isJSON","mime","Response","request_","responseText","statusText","line","lines","fields","getAllResponseHeaders","getResponseHeader","_parseBody","new_error","original","rawResponse","serializeObject","html","json","xml","urlencoded","form","accept","auth","btoa","attach","file","FormData","_callback","retries","crossDomainError","ca","buffer","write","pipe","_setUploadTimeout","_unused5","handleProgress","percent","loaded","_unused6","open","contentType","_serialize","setRequestHeader","patch","put","lookup","revLookup","getLens","b64","validLen","encodeChunk","uint8","base64Js","extraBytes","len2","base64Url","raw","attribute","attr","variable","check","optional","condition","value_message","supportsIsArray","objectAssignPolyfill","nextSource","keysArray","nextIndex","nextKey","objectAssign","pick","objectValues","unshift","getLocationFromUrl","href","hostname","port","pathname","search","hash","trimmed","objectHelper","toSnakeCase","exceptions","newKey","wasPrevNumber","wasPrevUppercase","toCamelCase","keepOriginal","blacklist","blacklistedKeys","with","object2","keys2","getKeysNotIn","allowedKeys","notAllowed","getOriginFromUrl","origin","trimUserDetails","updatePropertyOn","path","RequestWrapper","RequestObj","RequestBuilder","_sendTelemetry","_telemetryInfo","_timesToRetryFailedRequests","_universalLoginPage","universalLoginPage","getWindow","getMethod","getBody","getUrl","getHeaders","setCommonConfiguration","ongoingRequest","noHeaders","xRequestLanguage","getTelemetryData","telemetryName","clientInfo","env","jsonClientInfo","windowHelper","getDocument","getOrigin","DummyStorage","getItem","removeItem","setItem","js_cookie","init","converter","api","expires","toUTCString","stringifiedAttributes","jar","cookies","read","getJSON","remove","withConverter","buildCompatCookieKey","CookieStorage","_options","Warn","disableWarnings","StorageHandler","storage","__tryLocalStorageFirst","localStorage","warning","Storage","handler","SSODataStorage","buildResponse","description","errorDescription","cookieDomain","domain","secure","sameSite","legacySameSiteCookie","legacyOptions","failover","connection","sub","ssodata","lastUsedConnection","lastUsedSub","invalidToken","wrapCallback","ignoreCasing","errObj","error_code","error_description","details","forceLegacyError","error_codes","error_details","errorDetails","codes","policy","keepOriginalCasing","tokenParams","authorizeParams","parametersWhitelist","r","WebKitMutationObserver","importScripts","MessageChannel","T","S","_state","C","_result","I","B","nextTick","characterData","port1","onmessage","port2","postMessage","require","runOnLoop","runOnContext","random","substring","A","D","_onerror","_subscribers","R","_instanceConstructor","promise","_remaining","_enumerate","_eachEntry","_settledAt","N","_willSettleAt","finally","all","race","_setScheduler","_setAsap","_asap","polyfill","cast","i$1","crypto","msCrypto","getRandomValues","randomBytes","readInt32LE","Base","mixIn","$super","WordArray","words","sigBytes","clamp","enc","Hex","Latin1","Utf8","BufferedBlockAlgorithm","reset","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","sqrt","SHA256","_hash","HmacSHA256","Base64","_map","_reverseMap","fromNumber","fromString","appName","am","DB","DM","DV","FV","F1","F2","fromInt","mp","invDigit","mpl","mph","um","mt2","r2","q3","ONE","dlShiftTo","mu","divide","convert","compareTo","revert","divRemTo","mulTo","multiplyTo","sqrTo","squareTo","ZERO","subTo","copyTo","drShiftTo","fromRadix","lShiftTo","rShiftTo","isEven","exp","negate","toRadix","bitLength","modPowInt","multiplyUpperTo","multiplyLowerTo","dAddOffset","chunkSize","LN2","log","signum","intValue","dMultiply","testBit","bitwiseTo","shiftLeft","isProbablePrime","nextBytes","changeBit","addTo","modInt","millerRabin","getLowestSetBit","shiftRight","modPow","byteValue","shortValue","toByteArray","equals","and","or","xor","andNot","not","bitCount","setBit","clearBit","flipBit","multiply","remainder","divideAndRemainder","modInverse","gcd","square","Barrett","appVersion","BigInteger","SecureRandom","sha1","sha224","sha256","sha384","sha512","md2","md5","ripemd160","verify","alg","responseURL","blob","Blob","onload","onerror","credentials","jwksCache","expectedAlg","issuer","audience","leeway","jwksURI","maxAge","__clock","PluginHandler","webAuth","plugins","pluginName","setWebAuth","encoded","payload","signature","kid","aud","iss","nbf","iat","azp","auth_time","nonce","getRsaVerifier","setUTCSeconds","modulus","validateAccessToken","extensibilityPoint","supports","bytes","cryptoObj","TransactionManager","transaction","namespace","keyLength","stateExpiration","IframeHandler","timeoutCallback","eventListenerType","iframe","timeoutHandle","_destroyTimeout","transientMessageEventListener","proxyEventListener","eventValidator","WebMessageHandler","baseOptions","CrossOriginAuthentication","webMessageHandler","createKey","coId","Redirect","auth0","crossOriginAuthentication","_disableDeprecationWarnings","realm","responseTypeIncludesIdToken","generateTransaction","appState","state","organization","generateNonce","transactionPayload","getStoredTransaction","transactionData","clearTransaction","_window","style","eventSourceObject","timeoutHandler","eventData","sourceObject","destroy","parentNode","removeChild","run","responseMode","prompt","currentOrigin","redirectUriOrigin","redirectUri","authorizeUrl","buildAuthorizeUrl","parsedHash","validateAuthenticationResponse","transactionManager","login","rootUrl","email","authenticateBody","client_id","clientID","otp","credentialType","credential_type","errorObject","doAuth","popupMode","popup","authorizeOptions","loginTicket","login_ticket","co_id","co_verifier","authorize","onRedirecting","targetOrigin","theWindow","evt","id","verifier","loginWithCredentials","signupAndLogin","dbConnection","signup","winchan","WinChan","addListener","attachEvent","detachEvent","extractOrigin","isIE","rv","ua","$1","relay_url","window_name","window_features","messageTarget","contentWindow","closeInterval","setInterval","closed","cleanup","clearInterval","onMessage","close","securityViolation","originalPopup","focus","onOpen","msgTarget","frames","opener","doPost","onDie","o_O","onUnload","ohWell","detach","winopts","urlHelper","PopupHandler","_current_popup","Popup","popupOrigin","SilentAuthenticationHandler","authenticationUrl","postMessageDataType","postMessageOrigin","UsernamePassword","HostedPages","calculatePosition","width","height","screenX","screenLeft","screenY","screenTop","outerWidth","clientWidth","outerHeight","clientHeight","preload","popupPosition","popupOptions","windowFeatures","kill","relayUrl","winchanOptions","buildPopupHandler","pluginHandler","getPopupHandler","popupHandler","originUrl","parseHash","popOpts","owp","processParams","passwordlessVerify","passwordless","phoneNumber","verificationCode","loginWithResourceOwner","usePostMessage","getCallbackHandler","getEventValidator","callbackValue","formHtml","_document","children","submit","usernamePassword","getSSOData","withActiveDirectories","ldaps","defaults$2","templates","challenge","image","recaptcha_v2","recaptcha_enterprise","hcaptcha","friendly_captcha","handleAuth0Provider","provider","querySelector","preventDefault","globalForCaptchaProvider","grecaptcha","enterprise","friendlyChallenge","handleCaptchaProvider","captchaClass","widgetId","setValue","auth0FCInstance","captchaDiv","providerName","callbackName","script","injectCaptchaScript","WidgetInstance","sitekey","siteKey","language","doneCallback","solution","errorCallback","render","captcha","auth0Client","getChallenge","required","reload","getValue","captchaInput","defaultClock","WebAuth","overrides","__tenant","__token_issuer","__jwks_uri","tenant","token_issuer","Authentication","_universalLogin","ssodataStorage","PasswordlessAuthentication","DBConnection","Management","Authorization","parsedQs","hashStr","responseTypes","__enableIdPInitiatedLogin","__enableImpersonation","transactionState","transactionStateMatchesState","transactionNonce","transactionOrganization","qsParams","accessToken","access_token","idToken","id_token","idTokenPayload","refreshToken","refresh_token","expiresIn","expires_in","tokenType","token_type","validateToken","validationError","org_id","org_name","at_hash","decodedToken","userInfo","errUserInfo","profile","renewAuth","checkSession","changePassword","passwordlessStart","authParams","signupAndAuthorize","passwordlessLogin","crossOriginOptions","crossOriginAuthenticationCallback","crossOriginVerification","logout","buildLogoutUrl","buildVerifyUrl","renderCaptcha","renderPasswordlessCaptcha","qString","redirect_uri","response_type","postOptions","cleanOption","metadata","user_metadata","userMetadata","connection_scope","federated","loginWithDefaultDirectory","grantType","oauthToken","grant_type","clientId","ssodataInformation","sso","lastUsedUserID","lastUsedUsername","lastUsedClientID","sessionClients","delegation","getUserCountry","getUser","userId","patchUserMetadata","patchUserAttributes","linkUser","secondaryUserToken","link_with","moment","symbolMap","numberMap","pluralForm","plurals","pluralize","weekdaysParseExact","suffixes","plural","word","forms","relativeTimeWithPlural","standalone","lastDigit","last2Digits","monthsParseExact","relativeTimeWithMutation","specialMutationForYears","lastNumber","softMutation","mutationTable","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","longMonthsParse","shortMonthsParse","translate","ll","lll","llll","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eraYearOrdinalRegex","$2","isUpper","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","translateSeconds","translateSingular","special","relativeTimeWithSingular","relativeSeconds","translator","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","one","weekdaysCaseReplace","nominative","accusative","genitive","processHoursFunction","zepto","proxy","collection","typeaheadKey","Typeahead","autocomplete","datasets","typeaheadObject","inputs","$input","eventBus","typeahead","dropdownMenuContainer","minLength","autoselect","autoselectOnBlur","tabAutocomplete","openOnFocus","debug","clearOnSelected","cssClasses","keyboardShortcuts","autoWidth","ariaLabel","methodArguments","sources","wasAutocompleteSet","oldAutocomplete","noConflict","cache","Zepto","$","classList","camelize","uniq","emptyArray","elementDisplay","classCache","cssNumber","fragmentRE","singleTagRE","tagExpanderRE","rootNodeRE","capitalRE","methodAttributes","adjacencyOperators","table","tableRow","containers","readyRE","simpleSelectorRE","class2type","tempParent","propMap","isWindow","isDocument","DOCUMENT_NODE","likeArray","flatten","dasherize","classRE","maybeAddPx","defaultDisplay","getComputedStyle","getPropertyValue","Z","dom","deep","filtered","funcArg","idx","klass","svg","baseVal","deserializeValue","parseJSON","traverseNode","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","qsa","chr","fragment","container","isZ","ready","maybeID","maybeClass","nameOnly","isSimple","getElementById","getElementsByClassName","getElementsByTagName","isEmptyObject","isNumeric","inArray","elem","camelCase","uuid","support","expr","grep","is","excludes","eq","$this","parents","pluck","contents","contentDocument","siblings","show","replaceWith","newContent","before","wrap","structure","wrapAll","cloneNode","wrapInner","unwrap","hide","toggle","setting","originHtml","newText","textContent","removeAttr","removeProp","attrName","multiple","selected","coordinates","coords","parentOffset","offsetParent","props","getBoundingClientRect","pageXOffset","pageYOffset","computedStyle","removeProperty","cssText","hasClass","addClass","cls","removeClass","toggleClass","when","scrollTop","hasScrollTop","scrollTo","scrollX","scrollLeft","hasScrollLeft","scrollY","dimension","dimensionProperty","operator","operatorIndex","inside","argType","copyByClone","nextSibling","firstChild","parentInDocument","insertBefore","ownerDocument","defaultView","_zid","handlers","specialEvents","focusinSupported","blur","hover","mouseenter","mouseleave","zid","findHandlers","ns","matcherFor","sel","eventCapture","captureSetting","realEvent","events","delegator","capture","related","relatedTarget","compatible","isImmediatePropagationStopped","dataPropDescriptor","writable","_args","stopPropagation","click","mousedown","mouseup","mousemove","proxyFn","unbind","returnTrue","returnFalse","ignoreProperties","eventMethods","isDefaultPrevented","predicate","sourceMethod","timeStamp","ignored","defaultPrevented","returnValue","getPreventDefault","createProxy","originalEvent","undelegate","live","die","autoRemove","currentTarget","liveFired","dispatchEvent","triggerHandler","createEvent","bubbles","initEvent","dataAttr","expando","getData","store","setData","camelName","attributeData","hasData","removeData","origFn","attrsKey","Input","Dropdown","$menu","$hint","isActivated","formattedPrefix","listboxId","domElts","$wrapper","$dropdown","dropdownHtml","role","backgroundAttachment","backgroundClip","backgroundOrigin","backgroundPosition","backgroundRepeat","backgroundSize","getBackgroundStyles","spellcheck","tabindex","displayKey","prepend","menu","buildDom","$node","$e","active","activeElement","_onSuggestionClicked","_onCursorMoved","_onCursorRemoved","_onOpened","_onClosed","_onShown","_onEmpty","_onRedrawn","_onDatasetRendered","_onFocused","_onBlurred","_onEnterKeyed","_onTabKeyed","_onEscKeyed","_onUpKeyed","_onDownKeyed","_onLeftKeyed","_onRightKeyed","_onQueryChanged","_onWhitespaceChanged","_bindKeyboardShortcuts","_setLanguageDirection","keydown","elt","srcElement","isContentEditable","which","keyCode","datum","getDatumForSuggestion","_select","selectionMethod","updateInput","getDatumForCursor","currentCursorId","getCurrentCursor","setActiveDescendant","setInputValue","datasetName","resetInputValue","_updateHint","expand","inputRect","wrapperRect","bottom","cursorTopSuggestion","clearHint","removeActiveDescendant","collapse","getQuery","cursorDatum","topSuggestionDatum","getDatumForTopSuggestion","_autocomplete","isEmpty","moveCursorUp","moveCursorDown","clearHintIfInvalid","getLanguageDirection","setLanguageDirection","escapedQuery","isVisible","hasOverflow","getInputValue","normalizeQuery","setHint","laxCursor","isCursorAtEnd","getHint","setQuery","setVal","getVal","insertAfter","destroyDomStructure","getWrapper","$container","specialKeyCodeMap","EventEmitter","onBlur","onFocus","onKeydown","onInput","_onBlur","_onFocus","_onKeydown","_onInput","$overflowHelper","visibility","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","wordSpacing","letterSpacing","textIndent","textRendering","textTransform","withModifier","altKey","ctrlKey","metaKey","shiftKey","keyName","_managePreventDefault","_shouldTrigger","_checkInputValue","hintValue","inputValue","areEquivalent","hasDifferentWhitespace","silent","activedescendantId","valIsPrefixOfHint","constraint","valueLength","selectionStart","range","selection","createRange","moveStart","draining","currentQueue","scheduleDrain","queueIndex","scheduled","cleanUpNextTick","install","Item","task","queueMicrotask","Mutation","handle","called","observer","setImmediate","scriptEl","onreadystatechange","Dataset","onSuggestionClick","onSuggestionMouseEnter","onSuggestionMouseLeave","isOpen","_onSuggestionClick","_onSuggestionMouseEnter","_onSuggestionMouseLeave","cssClass","$empty","oDataset","initializeDataset","getRoot","_onRendered","footer","resize","_redraw","_removeCursor","_setCursor","_hide","_show","_getSuggestions","_getCursor","_moveCursor","increment","$suggestions","$oldCursor","newCursorIndex","$newCursor","_ensureVisible","elTop","elBottom","menuScrollTop","menuHeight","extractDatum","extractValue","extractDatasetName","datasetKey","valueKey","datumKey","_isEmpty","highlight","displayFn","getDisplayFn","debounce","suggestionTemplate","getTemplates","clearCachedSuggestions","_render","hasSuggestions","renderArgs","getHeaderHtml","getFooterHtml","suggestionsHtml","getSuggestionNode","suggestionHtml","handleSuggestions","canceled","extraArgs","cacheSuggestions","shouldFetchFromCache","cachedSuggestions","cachedRenderExtraArgs","execSource","debounceTimeout","cachedQuery","cancel","hits","popularIn","parseAlgoliaClientVersion","queries","lastSearch","searchIndex","queryClient","queryIndex","results","requestSearch","indexName","algoliaVersion","_ua","autocompleteUserAgent","additionalUA","hit","detailsIndex","detailsParams","hitsPerPage","detailsAlgoliaVersion","error2","content2","includeAll","allTitle","facet","nbHits","facets","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","drainQueue","marker","runClearTimeout","title","browser","argv","versions","prependListener","prependOnceListener","cwd","chdir","umask","webpackPolyfill","paths","definitionsFromContext","logicalName","identifierForContextKey","definitionForModuleAndIdentifier","definitionForModuleWithContextAndKey"],"mappings":"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","file":"js/2-7e211900a71aa735e063.chunk.js","sourcesContent":["//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;\n(function (global, factory) {\n 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 function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\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 function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n function isUndefined(input) {\n return input === void 0;\n }\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\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 if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n return a;\n }\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\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 function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\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 return false;\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 if (m._strict) {\n isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined;\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [],\n updateInProgress = false;\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n function isMoment(obj) {\n return obj instanceof Moment || obj != null && obj._isAMomentObject != null;\n }\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {\n console.warn('Deprecation warning: ' + msg);\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 if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + new Error().stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n var deprecations = {};\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // 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 this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\\d{1,2}/.source);\n }\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\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 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 return res;\n }\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n var keys;\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\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 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 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 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 = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\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 return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n return formatFunctions[format](m);\n }\n function expandFormat(format, locale) {\n var i = 5;\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n return format;\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 function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n if (format || !formatUpper) {\n return format;\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 return tok;\n }).join('');\n return this._longDateFormat[key];\n }\n var defaultInvalidDate = 'Invalid date';\n function invalidDate() {\n return this._invalidDate;\n }\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\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 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 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 var aliases = {};\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n return normalizedInput;\n }\n var priorities = {};\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({\n unit: u,\n priority: priorities[u]\n });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n function isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\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 function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n return value;\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 function get(mom, unit) {\n return mom.isValid() ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\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 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 }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\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 for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\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 function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\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 function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n var tokens = {};\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\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 function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\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 function mod(n, x) {\n return (n % x + x) % x;\n }\n var indexOf;\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\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 }\n\n // FORMATTING\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 });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // 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);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\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 function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months) ? this._months : this._months['standalone'];\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 function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\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 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 if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\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 if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\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 }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\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 function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\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 return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\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 return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;\n }\n }\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\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 }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\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 }\n\n // FORMATTING\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');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // 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 });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n function getIsLeapYear() {\n return isLeapYear(this.year());\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;\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 date = new Date(y + 400, m, d, h, M, s, ms);\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 return date;\n }\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var\n // 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 }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\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 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 return {\n year: resYear,\n dayOfYear: resDayOfYear\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 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 return {\n week: resWeek,\n year: resYear\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 }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // 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 });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\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 function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\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 function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\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');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // 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);\n // if we didn't get a weekday name, mark the date as invalid\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 });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n return null;\n }\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, 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 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 function localeWeekdaysShort(m) {\n return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n function localeWeekdaysMin(m) {\n return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\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 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 if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\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 if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\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 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 }\n // test the regex\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 }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\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 function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\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 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 function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\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 return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\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 return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\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 return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\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 }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\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 }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n function kFormat() {\n return this.hours() || 24;\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 function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\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 });\n\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 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 function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\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 };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\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 function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\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 while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\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 j--;\n }\n i++;\n }\n return globalLocale;\n }\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\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 }\n\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 function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\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 return globalLocale._abbr;\n }\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\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 if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\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 getSetGlobalLocale(name);\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\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 if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\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 locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\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 if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n if (!key) {\n return globalLocale;\n }\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n return chooseLocale(key);\n }\n function listLocales() {\n return keys(locales);\n }\n function checkOverflow(m) {\n var overflow,\n a = m._a;\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 if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n getParsingFlags(m).overflow = overflow;\n }\n return m;\n }\n\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 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 };\n\n // date from iso format\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 if (match) {\n getParsingFlags(config).iso = true;\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 if (dateFormat == null) {\n config._isValid = false;\n return;\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 if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\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 config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\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 if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n return result;\n }\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\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 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 if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\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 }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\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 });\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\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 function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n if (config._d) {\n return;\n }\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\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 for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];\n }\n\n // Check for 24:00:00.000\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 config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // 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 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 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);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\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 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 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 }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\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 if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\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 for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n configFromArray(config);\n checkOverflow(config);\n }\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n if (meridiem == null) {\n // nothing to do\n return hour;\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 if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\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 if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n getParsingFlags(tempConfig).score = currentScore;\n if (!bestFormatIsValid) {\n if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n extend(config, bestMoment || tempConfig);\n }\n function configFromObject(config) {\n if (config._d) {\n return;\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 function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n return res;\n }\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n config._locale = config._locale || getLocale(config._l);\n if (input === null || format === undefined && input === '') {\n return createInvalid({\n nullInput: true\n });\n }\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\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 if (!isValid(config)) {\n config._d = null;\n }\n return config;\n }\n function configFromInput(config) {\n var input = config._i;\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 function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\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 function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\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 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 if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n });\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 function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isBefore', args);\n }\n function max() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isAfter', args);\n }\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\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 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 return true;\n }\n function isValid$1() {\n return this._isValid;\n }\n function createInvalid$1() {\n return createDuration(NaN);\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);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds + seconds * 1e3 +\n // 1000\n minutes * 6e4 +\n // 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 this._days = +days + weeks * 7;\n // 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 this._months = +months + quarters * 3 + years * 12;\n this._data = {};\n this._locale = getLocale();\n this._bubble();\n }\n function isDuration(obj) {\n return obj instanceof Duration;\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 }\n\n // compare two arrays, return the number of differences\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 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 return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2);\n });\n }\n offset('Z', ':');\n offset('ZZ', '');\n\n // 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 });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n if (matches === null) {\n return null;\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 }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\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 }\n\n // HOOKS\n\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 hooks.updateOffset = function () {};\n\n // MOMENTS\n\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 function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\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 return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n this.utcOffset(input, keepLocalTime);\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\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 if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n return (this.utcOffset() - input) % 60 === 0;\n }\n function isDaylightSavingTime() {\n return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();\n }\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n var c = {},\n other;\n copyConfig(c, this);\n c = prepareConfig(c);\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 return this._isDSTShifted;\n }\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\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 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 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 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 } 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 ret = new Duration(duration);\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n return ret;\n }\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\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(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n function positiveMomentsDifference(base, other) {\n var res = {};\n res.months = other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n return res;\n }\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {\n milliseconds: 0,\n months: 0\n };\n }\n other = cloneWithOffset(other, base);\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 return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\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 dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\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 if (!mom.isValid()) {\n // No op\n return;\n }\n updateOffset = updateOffset == null ? true : updateOffset;\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === undefined;\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 for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n return objectTest && propertyTest;\n }\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest = input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\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 for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n return objectTest && propertyTest;\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 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 }\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 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 function clone() {\n return new Moment(this);\n }\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\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 if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\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 function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\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 function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n if (!this.isValid()) {\n return NaN;\n }\n that = cloneWithOffset(input, this);\n if (!that.isValid()) {\n return NaN;\n }\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n units = normalizeUnits(units);\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break;\n // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break;\n // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break;\n // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break;\n // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break;\n // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n return asFloat ? output : absFloor(output);\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 }\n // difference in months\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 if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\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 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 return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\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 function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\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 function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\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 function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\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 function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\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 function locale(key) {\n var newLocaleData;\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\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 function localeData() {\n return this._locale;\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;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\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 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 function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\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 case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\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 case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n function toDate() {\n return new Date(this.valueOf());\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 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 function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n function isValid$2() {\n return isValid(this);\n }\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n function invalidAt() {\n return getParsingFlags(this).overflow;\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 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 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 if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\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 function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\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 switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\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 return eras;\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 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 if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\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 function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n return '';\n }\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n return '';\n }\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n return '';\n }\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\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 return this.year();\n }\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\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 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 }\n\n // FORMATTING\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 function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // 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 });\n\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 function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\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 }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\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 }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // 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 });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\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 }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // 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 });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\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 if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\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 function createUnix(input) {\n return createLocal(input * 1000);\n }\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n function preParsePostFormat(string) {\n return string;\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 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 function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n format = format || '';\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n format = format || '';\n }\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\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 (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 });\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 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 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 }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\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;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\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 }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\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);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\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 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 function monthsToDays(months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n units = normalizeUnits(units);\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\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 switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;\n }\n function makeAs(alias) {\n return function () {\n return this.as(alias);\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 function clone$1() {\n return createDuration(this);\n }\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\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 function weeks() {\n return absFloor(this.days() / 7);\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\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\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 if (thresholds.w != null) {\n a = a || weeks <= 1 && ['w'] || weeks < thresholds.w && ['ww', weeks];\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 }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n return locale.postformat(output);\n }\n var abs$1 = Math.abs;\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\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 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 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 }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\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 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;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // 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 });\n\n //! moment.js\n\n hooks.version = '2.29.4';\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;\n\n // currently HTML5 input type only supports 24-hour formats\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});","var EventListener = /** @class */function () {\n function EventListener(eventTarget, eventName) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.unorderedBindings = new Set();\n }\n EventListener.prototype.connect = function () {\n this.eventTarget.addEventListener(this.eventName, this, false);\n };\n EventListener.prototype.disconnect = function () {\n this.eventTarget.removeEventListener(this.eventName, this, false);\n };\n // Binding observer delegate\n /** @hidden */\n EventListener.prototype.bindingConnected = function (binding) {\n this.unorderedBindings.add(binding);\n };\n /** @hidden */\n EventListener.prototype.bindingDisconnected = function (binding) {\n this.unorderedBindings.delete(binding);\n };\n EventListener.prototype.handleEvent = function (event) {\n var extendedEvent = extendEvent(event);\n for (var _i = 0, _a = this.bindings; _i < _a.length; _i++) {\n var binding = _a[_i];\n if (extendedEvent.immediatePropagationStopped) {\n break;\n } else {\n binding.handleEvent(extendedEvent);\n }\n }\n };\n Object.defineProperty(EventListener.prototype, \"bindings\", {\n get: function () {\n return Array.from(this.unorderedBindings).sort(function (left, right) {\n var leftIndex = left.index,\n rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n },\n enumerable: true,\n configurable: true\n });\n return EventListener;\n}();\nexport { EventListener };\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n } else {\n var stopImmediatePropagation_1 = event.stopImmediatePropagation;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation: function () {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation_1.call(this);\n }\n });\n }\n}","import { EventListener } from \"./event_listener\";\nvar Dispatcher = /** @class */function () {\n function Dispatcher(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n Dispatcher.prototype.start = function () {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach(function (eventListener) {\n return eventListener.connect();\n });\n }\n };\n Dispatcher.prototype.stop = function () {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach(function (eventListener) {\n return eventListener.disconnect();\n });\n }\n };\n Object.defineProperty(Dispatcher.prototype, \"eventListeners\", {\n get: function () {\n return Array.from(this.eventListenerMaps.values()).reduce(function (listeners, map) {\n return listeners.concat(Array.from(map.values()));\n }, []);\n },\n enumerable: true,\n configurable: true\n });\n // Binding observer delegate\n /** @hidden */\n Dispatcher.prototype.bindingConnected = function (binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n };\n /** @hidden */\n Dispatcher.prototype.bindingDisconnected = function (binding) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n };\n // Error handling\n Dispatcher.prototype.handleError = function (error, message, detail) {\n if (detail === void 0) {\n detail = {};\n }\n this.application.handleError(error, \"Error \" + message, detail);\n };\n Dispatcher.prototype.fetchEventListenerForBinding = function (binding) {\n var eventTarget = binding.eventTarget,\n eventName = binding.eventName;\n return this.fetchEventListener(eventTarget, eventName);\n };\n Dispatcher.prototype.fetchEventListener = function (eventTarget, eventName) {\n var eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n var eventListener = eventListenerMap.get(eventName);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName);\n eventListenerMap.set(eventName, eventListener);\n }\n return eventListener;\n };\n Dispatcher.prototype.createEventListener = function (eventTarget, eventName) {\n var eventListener = new EventListener(eventTarget, eventName);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n };\n Dispatcher.prototype.fetchEventListenerMapForEventTarget = function (eventTarget) {\n var eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n };\n return Dispatcher;\n}();\nexport { Dispatcher };","// capture nos.: 12 23 4 43 1 5 56 7 76\nvar descriptorPattern = /^((.+?)(@(window|document))?->)?(.+?)(#(.+))?$/;\nexport function parseDescriptorString(descriptorString) {\n var source = descriptorString.trim();\n var matches = source.match(descriptorPattern) || [];\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName: matches[2],\n identifier: matches[5],\n methodName: matches[7]\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n } else if (eventTargetName == \"document\") {\n return document;\n }\n}\nexport function stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n } else if (eventTarget == document) {\n return \"document\";\n }\n}","import { parseDescriptorString, stringifyEventTarget } from \"./action_descriptor\";\nvar Action = /** @class */function () {\n function Action(element, index, descriptor) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n }\n Action.forToken = function (token) {\n return new this(token.element, token.index, parseDescriptorString(token.content));\n };\n Action.prototype.toString = function () {\n var eventNameSuffix = this.eventTargetName ? \"@\" + this.eventTargetName : \"\";\n return \"\" + this.eventName + eventNameSuffix + \"->\" + this.identifier + \"#\" + this.methodName;\n };\n Object.defineProperty(Action.prototype, \"eventTargetName\", {\n get: function () {\n return stringifyEventTarget(this.eventTarget);\n },\n enumerable: true,\n configurable: true\n });\n return Action;\n}();\nexport { Action };\nvar defaultEventNames = {\n \"a\": function (e) {\n return \"click\";\n },\n \"button\": function (e) {\n return \"click\";\n },\n \"form\": function (e) {\n return \"submit\";\n },\n \"input\": function (e) {\n return e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"change\";\n },\n \"select\": function (e) {\n return \"change\";\n },\n \"textarea\": function (e) {\n return \"change\";\n }\n};\nexport function getDefaultEventNameForElement(element) {\n var tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}","var Binding = /** @class */function () {\n function Binding(context, action) {\n this.context = context;\n this.action = action;\n }\n Object.defineProperty(Binding.prototype, \"index\", {\n get: function () {\n return this.action.index;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"eventTarget\", {\n get: function () {\n return this.action.eventTarget;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"identifier\", {\n get: function () {\n return this.context.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Binding.prototype.handleEvent = function (event) {\n if (this.willBeInvokedByEvent(event)) {\n this.invokeWithEvent(event);\n }\n };\n Object.defineProperty(Binding.prototype, \"eventName\", {\n get: function () {\n return this.action.eventName;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"method\", {\n get: function () {\n var method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(\"Action \\\"\" + this.action + \"\\\" references undefined method \\\"\" + this.methodName + \"\\\"\");\n },\n enumerable: true,\n configurable: true\n });\n Binding.prototype.invokeWithEvent = function (event) {\n try {\n this.method.call(this.controller, event);\n } catch (error) {\n var _a = this,\n identifier = _a.identifier,\n controller = _a.controller,\n element = _a.element,\n index = _a.index;\n var detail = {\n identifier: identifier,\n controller: controller,\n element: element,\n index: index,\n event: event\n };\n this.context.handleError(error, \"invoking action \\\"\" + this.action + \"\\\"\", detail);\n }\n };\n Binding.prototype.willBeInvokedByEvent = function (event) {\n var eventTarget = event.target;\n if (this.element === eventTarget) {\n return true;\n } else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n } else {\n return true;\n }\n };\n Object.defineProperty(Binding.prototype, \"controller\", {\n get: function () {\n return this.context.controller;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"methodName\", {\n get: function () {\n return this.action.methodName;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"scope\", {\n get: function () {\n return this.context.scope;\n },\n enumerable: true,\n configurable: true\n });\n return Binding;\n}();\nexport { Binding };","var ElementObserver = /** @class */function () {\n function ElementObserver(element, delegate) {\n var _this = this;\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver(function (mutations) {\n return _this.processMutations(mutations);\n });\n }\n ElementObserver.prototype.start = function () {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, {\n attributes: true,\n childList: true,\n subtree: true\n });\n this.refresh();\n }\n };\n ElementObserver.prototype.stop = function () {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n };\n ElementObserver.prototype.refresh = function () {\n if (this.started) {\n var matches = new Set(this.matchElementsInTree());\n for (var _i = 0, _a = Array.from(this.elements); _i < _a.length; _i++) {\n var element = _a[_i];\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (var _b = 0, _c = Array.from(matches); _b < _c.length; _b++) {\n var element = _c[_b];\n this.addElement(element);\n }\n }\n };\n // Mutation record processing\n ElementObserver.prototype.processMutations = function (mutations) {\n if (this.started) {\n for (var _i = 0, mutations_1 = mutations; _i < mutations_1.length; _i++) {\n var mutation = mutations_1[_i];\n this.processMutation(mutation);\n }\n }\n };\n ElementObserver.prototype.processMutation = function (mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n } else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n };\n ElementObserver.prototype.processAttributeChange = function (node, attributeName) {\n var element = node;\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n } else {\n this.removeElement(element);\n }\n } else if (this.matchElement(element)) {\n this.addElement(element);\n }\n };\n ElementObserver.prototype.processRemovedNodes = function (nodes) {\n for (var _i = 0, _a = Array.from(nodes); _i < _a.length; _i++) {\n var node = _a[_i];\n var element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n };\n ElementObserver.prototype.processAddedNodes = function (nodes) {\n for (var _i = 0, _a = Array.from(nodes); _i < _a.length; _i++) {\n var node = _a[_i];\n var element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n };\n // Element matching\n ElementObserver.prototype.matchElement = function (element) {\n return this.delegate.matchElement(element);\n };\n ElementObserver.prototype.matchElementsInTree = function (tree) {\n if (tree === void 0) {\n tree = this.element;\n }\n return this.delegate.matchElementsInTree(tree);\n };\n ElementObserver.prototype.processTree = function (tree, processor) {\n for (var _i = 0, _a = this.matchElementsInTree(tree); _i < _a.length; _i++) {\n var element = _a[_i];\n processor.call(this, element);\n }\n };\n ElementObserver.prototype.elementFromNode = function (node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n };\n ElementObserver.prototype.elementIsActive = function (element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n } else {\n return this.element.contains(element);\n }\n };\n // Element tracking\n ElementObserver.prototype.addElement = function (element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n };\n ElementObserver.prototype.removeElement = function (element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n };\n return ElementObserver;\n}();\nexport { ElementObserver };","import { ElementObserver } from \"./element_observer\";\nvar AttributeObserver = /** @class */function () {\n function AttributeObserver(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n Object.defineProperty(AttributeObserver.prototype, \"element\", {\n get: function () {\n return this.elementObserver.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AttributeObserver.prototype, \"selector\", {\n get: function () {\n return \"[\" + this.attributeName + \"]\";\n },\n enumerable: true,\n configurable: true\n });\n AttributeObserver.prototype.start = function () {\n this.elementObserver.start();\n };\n AttributeObserver.prototype.stop = function () {\n this.elementObserver.stop();\n };\n AttributeObserver.prototype.refresh = function () {\n this.elementObserver.refresh();\n };\n Object.defineProperty(AttributeObserver.prototype, \"started\", {\n get: function () {\n return this.elementObserver.started;\n },\n enumerable: true,\n configurable: true\n });\n // Element observer delegate\n AttributeObserver.prototype.matchElement = function (element) {\n return element.hasAttribute(this.attributeName);\n };\n AttributeObserver.prototype.matchElementsInTree = function (tree) {\n var match = this.matchElement(tree) ? [tree] : [];\n var matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n };\n AttributeObserver.prototype.elementMatched = function (element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n };\n AttributeObserver.prototype.elementUnmatched = function (element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n };\n AttributeObserver.prototype.elementAttributeChanged = function (element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n };\n return AttributeObserver;\n}();\nexport { AttributeObserver };","export function add(map, key, value) {\n fetch(map, key).add(value);\n}\nexport function del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nexport function fetch(map, key) {\n var values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nexport function prune(map, key) {\n var values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}","import { add, del } from \"./set_operations\";\nvar Multimap = /** @class */function () {\n function Multimap() {\n this.valuesByKey = new Map();\n }\n Object.defineProperty(Multimap.prototype, \"values\", {\n get: function () {\n var sets = Array.from(this.valuesByKey.values());\n return sets.reduce(function (values, set) {\n return values.concat(Array.from(set));\n }, []);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Multimap.prototype, \"size\", {\n get: function () {\n var sets = Array.from(this.valuesByKey.values());\n return sets.reduce(function (size, set) {\n return size + set.size;\n }, 0);\n },\n enumerable: true,\n configurable: true\n });\n Multimap.prototype.add = function (key, value) {\n add(this.valuesByKey, key, value);\n };\n Multimap.prototype.delete = function (key, value) {\n del(this.valuesByKey, key, value);\n };\n Multimap.prototype.has = function (key, value) {\n var values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n };\n Multimap.prototype.hasKey = function (key) {\n return this.valuesByKey.has(key);\n };\n Multimap.prototype.hasValue = function (value) {\n var sets = Array.from(this.valuesByKey.values());\n return sets.some(function (set) {\n return set.has(value);\n });\n };\n Multimap.prototype.getValuesForKey = function (key) {\n var values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n };\n Multimap.prototype.getKeysForValue = function (value) {\n return Array.from(this.valuesByKey).filter(function (_a) {\n var key = _a[0],\n values = _a[1];\n return values.has(value);\n }).map(function (_a) {\n var key = _a[0],\n values = _a[1];\n return key;\n });\n };\n return Multimap;\n}();\nexport { Multimap };","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) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\nimport { Multimap } from \"./multimap\";\nimport { add, del } from \"./set_operations\";\nvar IndexedMultimap = /** @class */function (_super) {\n __extends(IndexedMultimap, _super);\n function IndexedMultimap() {\n var _this = _super.call(this) || this;\n _this.keysByValue = new Map();\n return _this;\n }\n Object.defineProperty(IndexedMultimap.prototype, \"values\", {\n get: function () {\n return Array.from(this.keysByValue.keys());\n },\n enumerable: true,\n configurable: true\n });\n IndexedMultimap.prototype.add = function (key, value) {\n _super.prototype.add.call(this, key, value);\n add(this.keysByValue, value, key);\n };\n IndexedMultimap.prototype.delete = function (key, value) {\n _super.prototype.delete.call(this, key, value);\n del(this.keysByValue, value, key);\n };\n IndexedMultimap.prototype.hasValue = function (value) {\n return this.keysByValue.has(value);\n };\n IndexedMultimap.prototype.getKeysForValue = function (value) {\n var set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n };\n return IndexedMultimap;\n}(Multimap);\nexport { IndexedMultimap };","import { AttributeObserver } from \"./attribute_observer\";\nimport { Multimap } from \"@stimulus/multimap\";\nvar TokenListObserver = /** @class */function () {\n function TokenListObserver(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n Object.defineProperty(TokenListObserver.prototype, \"started\", {\n get: function () {\n return this.attributeObserver.started;\n },\n enumerable: true,\n configurable: true\n });\n TokenListObserver.prototype.start = function () {\n this.attributeObserver.start();\n };\n TokenListObserver.prototype.stop = function () {\n this.attributeObserver.stop();\n };\n TokenListObserver.prototype.refresh = function () {\n this.attributeObserver.refresh();\n };\n Object.defineProperty(TokenListObserver.prototype, \"element\", {\n get: function () {\n return this.attributeObserver.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TokenListObserver.prototype, \"attributeName\", {\n get: function () {\n return this.attributeObserver.attributeName;\n },\n enumerable: true,\n configurable: true\n });\n // Attribute observer delegate\n TokenListObserver.prototype.elementMatchedAttribute = function (element) {\n this.tokensMatched(this.readTokensForElement(element));\n };\n TokenListObserver.prototype.elementAttributeValueChanged = function (element) {\n var _a = this.refreshTokensForElement(element),\n unmatchedTokens = _a[0],\n matchedTokens = _a[1];\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n };\n TokenListObserver.prototype.elementUnmatchedAttribute = function (element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n };\n TokenListObserver.prototype.tokensMatched = function (tokens) {\n var _this = this;\n tokens.forEach(function (token) {\n return _this.tokenMatched(token);\n });\n };\n TokenListObserver.prototype.tokensUnmatched = function (tokens) {\n var _this = this;\n tokens.forEach(function (token) {\n return _this.tokenUnmatched(token);\n });\n };\n TokenListObserver.prototype.tokenMatched = function (token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n };\n TokenListObserver.prototype.tokenUnmatched = function (token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n };\n TokenListObserver.prototype.refreshTokensForElement = function (element) {\n var previousTokens = this.tokensByElement.getValuesForKey(element);\n var currentTokens = this.readTokensForElement(element);\n var firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(function (_a) {\n var previousToken = _a[0],\n currentToken = _a[1];\n return !tokensAreEqual(previousToken, currentToken);\n });\n if (firstDifferingIndex == -1) {\n return [[], []];\n } else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n };\n TokenListObserver.prototype.readTokensForElement = function (element) {\n var attributeName = this.attributeName;\n var tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n };\n return TokenListObserver;\n}();\nexport { TokenListObserver };\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString.trim().split(/\\s+/).filter(function (content) {\n return content.length;\n }).map(function (content, index) {\n return {\n element: element,\n attributeName: attributeName,\n content: content,\n index: index\n };\n });\n}\nfunction zip(left, right) {\n var length = Math.max(left.length, right.length);\n return Array.from({\n length: length\n }, function (_, index) {\n return [left[index], right[index]];\n });\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}","import { TokenListObserver } from \"./token_list_observer\";\nvar ValueListObserver = /** @class */function () {\n function ValueListObserver(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n Object.defineProperty(ValueListObserver.prototype, \"started\", {\n get: function () {\n return this.tokenListObserver.started;\n },\n enumerable: true,\n configurable: true\n });\n ValueListObserver.prototype.start = function () {\n this.tokenListObserver.start();\n };\n ValueListObserver.prototype.stop = function () {\n this.tokenListObserver.stop();\n };\n ValueListObserver.prototype.refresh = function () {\n this.tokenListObserver.refresh();\n };\n Object.defineProperty(ValueListObserver.prototype, \"element\", {\n get: function () {\n return this.tokenListObserver.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ValueListObserver.prototype, \"attributeName\", {\n get: function () {\n return this.tokenListObserver.attributeName;\n },\n enumerable: true,\n configurable: true\n });\n ValueListObserver.prototype.tokenMatched = function (token) {\n var element = token.element;\n var value = this.fetchParseResultForToken(token).value;\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n };\n ValueListObserver.prototype.tokenUnmatched = function (token) {\n var element = token.element;\n var value = this.fetchParseResultForToken(token).value;\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n };\n ValueListObserver.prototype.fetchParseResultForToken = function (token) {\n var parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n };\n ValueListObserver.prototype.fetchValuesByTokenForElement = function (element) {\n var valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n };\n ValueListObserver.prototype.parseToken = function (token) {\n try {\n var value = this.delegate.parseValueForToken(token);\n return {\n value: value\n };\n } catch (error) {\n return {\n error: error\n };\n }\n };\n return ValueListObserver;\n}();\nexport { ValueListObserver };","import { Action } from \"./action\";\nimport { Binding } from \"./binding\";\nimport { ValueListObserver } from \"@stimulus/mutation-observers\";\nvar BindingObserver = /** @class */function () {\n function BindingObserver(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n BindingObserver.prototype.start = function () {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n };\n BindingObserver.prototype.stop = function () {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n };\n Object.defineProperty(BindingObserver.prototype, \"element\", {\n get: function () {\n return this.context.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"identifier\", {\n get: function () {\n return this.context.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"actionAttribute\", {\n get: function () {\n return this.schema.actionAttribute;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"schema\", {\n get: function () {\n return this.context.schema;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"bindings\", {\n get: function () {\n return Array.from(this.bindingsByAction.values());\n },\n enumerable: true,\n configurable: true\n });\n BindingObserver.prototype.connectAction = function (action) {\n var binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n };\n BindingObserver.prototype.disconnectAction = function (action) {\n var binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n };\n BindingObserver.prototype.disconnectAllActions = function () {\n var _this = this;\n this.bindings.forEach(function (binding) {\n return _this.delegate.bindingDisconnected(binding);\n });\n this.bindingsByAction.clear();\n };\n // Value observer delegate\n BindingObserver.prototype.parseValueForToken = function (token) {\n var action = Action.forToken(token);\n if (action.identifier == this.identifier) {\n return action;\n }\n };\n BindingObserver.prototype.elementMatchedValue = function (element, action) {\n this.connectAction(action);\n };\n BindingObserver.prototype.elementUnmatchedValue = function (element, action) {\n this.disconnectAction(action);\n };\n return BindingObserver;\n}();\nexport { BindingObserver };","import { BindingObserver } from \"./binding_observer\";\nvar Context = /** @class */function () {\n function Context(module, scope) {\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n try {\n this.controller.initialize();\n } catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n Context.prototype.connect = function () {\n this.bindingObserver.start();\n try {\n this.controller.connect();\n } catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n };\n Context.prototype.disconnect = function () {\n try {\n this.controller.disconnect();\n } catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.bindingObserver.stop();\n };\n Object.defineProperty(Context.prototype, \"application\", {\n get: function () {\n return this.module.application;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"identifier\", {\n get: function () {\n return this.module.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"schema\", {\n get: function () {\n return this.application.schema;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"dispatcher\", {\n get: function () {\n return this.application.dispatcher;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"parentElement\", {\n get: function () {\n return this.element.parentElement;\n },\n enumerable: true,\n configurable: true\n });\n // Error handling\n Context.prototype.handleError = function (error, message, detail) {\n if (detail === void 0) {\n detail = {};\n }\n var _a = this,\n identifier = _a.identifier,\n controller = _a.controller,\n element = _a.element;\n detail = Object.assign({\n identifier: identifier,\n controller: controller,\n element: element\n }, detail);\n this.application.handleError(error, \"Error \" + message, detail);\n };\n return Context;\n}();\nexport { Context };","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) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n/** @hidden */\nexport function blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: blessControllerConstructor(definition.controllerConstructor)\n };\n}\nfunction blessControllerConstructor(controllerConstructor) {\n var constructor = extend(controllerConstructor);\n constructor.bless();\n return constructor;\n}\nvar extend = function () {\n function extendWithReflect(constructor) {\n function Controller() {\n var _newTarget = this && this instanceof Controller ? this.constructor : void 0;\n return Reflect.construct(constructor, arguments, _newTarget);\n }\n Controller.prototype = Object.create(constructor.prototype, {\n constructor: {\n value: Controller\n }\n });\n Reflect.setPrototypeOf(Controller, constructor);\n return Controller;\n }\n function testReflectExtension() {\n var a = function () {\n this.a.call(this);\n };\n var b = extendWithReflect(a);\n b.prototype.a = function () {};\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n } catch (error) {\n return function (constructor) {\n return (/** @class */function (_super) {\n __extends(Controller, _super);\n function Controller() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return Controller;\n }(constructor)\n );\n };\n }\n}();","import { Context } from \"./context\";\nimport { blessDefinition } from \"./definition\";\nvar Module = /** @class */function () {\n function Module(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n Object.defineProperty(Module.prototype, \"identifier\", {\n get: function () {\n return this.definition.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"controllerConstructor\", {\n get: function () {\n return this.definition.controllerConstructor;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"contexts\", {\n get: function () {\n return Array.from(this.connectedContexts);\n },\n enumerable: true,\n configurable: true\n });\n Module.prototype.connectContextForScope = function (scope) {\n var context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n };\n Module.prototype.disconnectContextForScope = function (scope) {\n var context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n };\n Module.prototype.fetchContextForScope = function (scope) {\n var context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n };\n return Module;\n}();\nexport { Module };","var DataMap = /** @class */function () {\n function DataMap(scope) {\n this.scope = scope;\n }\n Object.defineProperty(DataMap.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DataMap.prototype, \"identifier\", {\n get: function () {\n return this.scope.identifier;\n },\n enumerable: true,\n configurable: true\n });\n DataMap.prototype.get = function (key) {\n key = this.getFormattedKey(key);\n return this.element.getAttribute(key);\n };\n DataMap.prototype.set = function (key, value) {\n key = this.getFormattedKey(key);\n this.element.setAttribute(key, value);\n return this.get(key);\n };\n DataMap.prototype.has = function (key) {\n key = this.getFormattedKey(key);\n return this.element.hasAttribute(key);\n };\n DataMap.prototype.delete = function (key) {\n if (this.has(key)) {\n key = this.getFormattedKey(key);\n this.element.removeAttribute(key);\n return true;\n } else {\n return false;\n }\n };\n DataMap.prototype.getFormattedKey = function (key) {\n return \"data-\" + this.identifier + \"-\" + dasherize(key);\n };\n return DataMap;\n}();\nexport { DataMap };\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, function (_, char) {\n return \"-\" + char.toLowerCase();\n });\n}","/** @hidden */\nexport function attributeValueContainsToken(attributeName, token) {\n return \"[\" + attributeName + \"~=\\\"\" + token + \"\\\"]\";\n}","import { attributeValueContainsToken } from \"./selectors\";\nvar TargetSet = /** @class */function () {\n function TargetSet(scope) {\n this.scope = scope;\n }\n Object.defineProperty(TargetSet.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"identifier\", {\n get: function () {\n return this.scope.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"schema\", {\n get: function () {\n return this.scope.schema;\n },\n enumerable: true,\n configurable: true\n });\n TargetSet.prototype.has = function (targetName) {\n return this.find(targetName) != null;\n };\n TargetSet.prototype.find = function () {\n var targetNames = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n targetNames[_i] = arguments[_i];\n }\n var selector = this.getSelectorForTargetNames(targetNames);\n return this.scope.findElement(selector);\n };\n TargetSet.prototype.findAll = function () {\n var targetNames = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n targetNames[_i] = arguments[_i];\n }\n var selector = this.getSelectorForTargetNames(targetNames);\n return this.scope.findAllElements(selector);\n };\n TargetSet.prototype.getSelectorForTargetNames = function (targetNames) {\n var _this = this;\n return targetNames.map(function (targetName) {\n return _this.getSelectorForTargetName(targetName);\n }).join(\", \");\n };\n TargetSet.prototype.getSelectorForTargetName = function (targetName) {\n var targetDescriptor = this.identifier + \".\" + targetName;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n };\n return TargetSet;\n}();\nexport { TargetSet };","import { DataMap } from \"./data_map\";\nimport { TargetSet } from \"./target_set\";\nimport { attributeValueContainsToken } from \"./selectors\";\nvar Scope = /** @class */function () {\n function Scope(schema, identifier, element) {\n this.schema = schema;\n this.identifier = identifier;\n this.element = element;\n this.targets = new TargetSet(this);\n this.data = new DataMap(this);\n }\n Scope.prototype.findElement = function (selector) {\n return this.findAllElements(selector)[0];\n };\n Scope.prototype.findAllElements = function (selector) {\n var head = this.element.matches(selector) ? [this.element] : [];\n var tail = this.filterElements(Array.from(this.element.querySelectorAll(selector)));\n return head.concat(tail);\n };\n Scope.prototype.filterElements = function (elements) {\n var _this = this;\n return elements.filter(function (element) {\n return _this.containsElement(element);\n });\n };\n Scope.prototype.containsElement = function (element) {\n return element.closest(this.controllerSelector) === this.element;\n };\n Object.defineProperty(Scope.prototype, \"controllerSelector\", {\n get: function () {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n },\n enumerable: true,\n configurable: true\n });\n return Scope;\n}();\nexport { Scope };","import { Scope } from \"./scope\";\nimport { ValueListObserver } from \"@stimulus/mutation-observers\";\nvar ScopeObserver = /** @class */function () {\n function ScopeObserver(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n ScopeObserver.prototype.start = function () {\n this.valueListObserver.start();\n };\n ScopeObserver.prototype.stop = function () {\n this.valueListObserver.stop();\n };\n Object.defineProperty(ScopeObserver.prototype, \"controllerAttribute\", {\n get: function () {\n return this.schema.controllerAttribute;\n },\n enumerable: true,\n configurable: true\n });\n // Value observer delegate\n /** @hidden */\n ScopeObserver.prototype.parseValueForToken = function (token) {\n var element = token.element,\n identifier = token.content;\n var scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n var scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = new Scope(this.schema, identifier, element);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n };\n /** @hidden */\n ScopeObserver.prototype.elementMatchedValue = function (element, value) {\n var referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n };\n /** @hidden */\n ScopeObserver.prototype.elementUnmatchedValue = function (element, value) {\n var referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n };\n ScopeObserver.prototype.fetchScopesByIdentifierForElement = function (element) {\n var scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n };\n return ScopeObserver;\n}();\nexport { ScopeObserver };","import { Module } from \"./module\";\nimport { Multimap } from \"@stimulus/multimap\";\nimport { ScopeObserver } from \"./scope_observer\";\nvar Router = /** @class */function () {\n function Router(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n Object.defineProperty(Router.prototype, \"element\", {\n get: function () {\n return this.application.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"schema\", {\n get: function () {\n return this.application.schema;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"controllerAttribute\", {\n get: function () {\n return this.schema.controllerAttribute;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"modules\", {\n get: function () {\n return Array.from(this.modulesByIdentifier.values());\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"contexts\", {\n get: function () {\n return this.modules.reduce(function (contexts, module) {\n return contexts.concat(module.contexts);\n }, []);\n },\n enumerable: true,\n configurable: true\n });\n Router.prototype.start = function () {\n this.scopeObserver.start();\n };\n Router.prototype.stop = function () {\n this.scopeObserver.stop();\n };\n Router.prototype.loadDefinition = function (definition) {\n this.unloadIdentifier(definition.identifier);\n var module = new Module(this.application, definition);\n this.connectModule(module);\n };\n Router.prototype.unloadIdentifier = function (identifier) {\n var module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n };\n Router.prototype.getContextForElementAndIdentifier = function (element, identifier) {\n var module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find(function (context) {\n return context.element == element;\n });\n }\n };\n // Error handler delegate\n /** @hidden */\n Router.prototype.handleError = function (error, message, detail) {\n this.application.handleError(error, message, detail);\n };\n // Scope observer delegate\n /** @hidden */\n Router.prototype.scopeConnected = function (scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n var module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n };\n /** @hidden */\n Router.prototype.scopeDisconnected = function (scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n var module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n };\n // Modules\n Router.prototype.connectModule = function (module) {\n this.modulesByIdentifier.set(module.identifier, module);\n var scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(function (scope) {\n return module.connectContextForScope(scope);\n });\n };\n Router.prototype.disconnectModule = function (module) {\n this.modulesByIdentifier.delete(module.identifier);\n var scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(function (scope) {\n return module.disconnectContextForScope(scope);\n });\n };\n return Router;\n}();\nexport { Router };","export var defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\"\n};","var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : new P(function (resolve) {\n resolve(result.value);\n }).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [0, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\nimport { Dispatcher } from \"./dispatcher\";\nimport { Router } from \"./router\";\nimport { defaultSchema } from \"./schema\";\nvar Application = /** @class */function () {\n function Application(element, schema) {\n if (element === void 0) {\n element = document.documentElement;\n }\n if (schema === void 0) {\n schema = defaultSchema;\n }\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n }\n Application.start = function (element, schema) {\n var application = new Application(element, schema);\n application.start();\n return application;\n };\n Application.prototype.start = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4 /*yield*/, domReady()];\n case 1:\n _a.sent();\n this.router.start();\n this.dispatcher.start();\n return [2 /*return*/];\n }\n });\n });\n };\n\n Application.prototype.stop = function () {\n this.router.stop();\n this.dispatcher.stop();\n };\n Application.prototype.register = function (identifier, controllerConstructor) {\n this.load({\n identifier: identifier,\n controllerConstructor: controllerConstructor\n });\n };\n Application.prototype.load = function (head) {\n var _this = this;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n var definitions = Array.isArray(head) ? head : [head].concat(rest);\n definitions.forEach(function (definition) {\n return _this.router.loadDefinition(definition);\n });\n };\n Application.prototype.unload = function (head) {\n var _this = this;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n var identifiers = Array.isArray(head) ? head : [head].concat(rest);\n identifiers.forEach(function (identifier) {\n return _this.router.unloadIdentifier(identifier);\n });\n };\n Object.defineProperty(Application.prototype, \"controllers\", {\n // Controllers\n get: function () {\n return this.router.contexts.map(function (context) {\n return context.controller;\n });\n },\n enumerable: true,\n configurable: true\n });\n Application.prototype.getControllerForElementAndIdentifier = function (element, identifier) {\n var context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n };\n // Error handling\n Application.prototype.handleError = function (error, message, detail) {\n console.error(\"%s\\n\\n%o\\n\\n%o\", message, error, detail);\n };\n return Application;\n}();\nexport { Application };\nfunction domReady() {\n return new Promise(function (resolve) {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", resolve);\n } else {\n resolve();\n }\n });\n}","/** @hidden */\nexport function defineTargetProperties(constructor) {\n var prototype = constructor.prototype;\n var targetNames = getTargetNamesForConstructor(constructor);\n targetNames.forEach(function (name) {\n var _a;\n return defineLinkedProperties(prototype, (_a = {}, _a[name + \"Target\"] = {\n get: function () {\n var target = this.targets.find(name);\n if (target) {\n return target;\n } else {\n throw new Error(\"Missing target element \\\"\" + this.identifier + \".\" + name + \"\\\"\");\n }\n }\n }, _a[name + \"Targets\"] = {\n get: function () {\n return this.targets.findAll(name);\n }\n }, _a[\"has\" + capitalize(name) + \"Target\"] = {\n get: function () {\n return this.targets.has(name);\n }\n }, _a));\n });\n}\nfunction getTargetNamesForConstructor(constructor) {\n var ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce(function (targetNames, constructor) {\n getOwnTargetNamesForConstructor(constructor).forEach(function (name) {\n return targetNames.add(name);\n });\n return targetNames;\n }, new Set()));\n}\nfunction getAncestorsForConstructor(constructor) {\n var ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors;\n}\nfunction getOwnTargetNamesForConstructor(constructor) {\n var definition = constructor[\"targets\"];\n return Array.isArray(definition) ? definition : [];\n}\nfunction defineLinkedProperties(object, properties) {\n Object.keys(properties).forEach(function (name) {\n if (!(name in object)) {\n var descriptor = properties[name];\n Object.defineProperty(object, name, descriptor);\n }\n });\n}\nfunction capitalize(name) {\n return name.charAt(0).toUpperCase() + name.slice(1);\n}","import { defineTargetProperties } from \"./target_properties\";\nvar Controller = /** @class */function () {\n function Controller(context) {\n this.context = context;\n }\n Controller.bless = function () {\n defineTargetProperties(this);\n };\n Object.defineProperty(Controller.prototype, \"application\", {\n get: function () {\n return this.context.application;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"scope\", {\n get: function () {\n return this.context.scope;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"identifier\", {\n get: function () {\n return this.scope.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"targets\", {\n get: function () {\n return this.scope.targets;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"data\", {\n get: function () {\n return this.scope.data;\n },\n enumerable: true,\n configurable: true\n });\n Controller.prototype.initialize = function () {\n // Override in your subclass to set up initial controller state\n };\n Controller.prototype.connect = function () {\n // Override in your subclass to respond when the controller is connected to the DOM\n };\n Controller.prototype.disconnect = function () {\n // Override in your subclass to respond when the controller is disconnected from the DOM\n };\n Controller.targets = [];\n return Controller;\n}();\nexport { Controller };","'use strict';\n\nvar DOM = require('./dom.js');\nfunction escapeRegExp(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nmodule.exports = {\n // those methods are implemented differently\n // depending on which build it is, using\n // $... or angular... or Zepto... or require(...)\n isArray: null,\n isFunction: null,\n isObject: null,\n bind: null,\n each: null,\n map: null,\n mixin: null,\n isMsie: function (agentString) {\n if (agentString === undefined) {\n agentString = navigator.userAgent;\n }\n // from https://github.com/ded/bowser/blob/master/bowser.js\n if (/(msie|trident)/i.test(agentString)) {\n var match = agentString.match(/(msie |rv:)(\\d+(.\\d+)?)/i);\n if (match) {\n return match[2];\n }\n }\n return false;\n },\n // http://stackoverflow.com/a/6969486\n escapeRegExChars: function (str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n },\n isNumber: function (obj) {\n return typeof obj === 'number';\n },\n toStr: function toStr(s) {\n return s === undefined || s === null ? '' : s + '';\n },\n cloneDeep: function cloneDeep(obj) {\n var clone = this.mixin({}, obj);\n var self = this;\n this.each(clone, function (value, key) {\n if (value) {\n if (self.isArray(value)) {\n clone[key] = [].concat(value);\n } else if (self.isObject(value)) {\n clone[key] = self.cloneDeep(value);\n }\n }\n });\n return clone;\n },\n error: function (msg) {\n throw new Error(msg);\n },\n every: function (obj, test) {\n var result = true;\n if (!obj) {\n return result;\n }\n this.each(obj, function (val, key) {\n if (result) {\n result = test.call(null, val, key, obj) && result;\n }\n });\n return !!result;\n },\n any: function (obj, test) {\n var found = false;\n if (!obj) {\n return found;\n }\n this.each(obj, function (val, key) {\n if (test.call(null, val, key, obj)) {\n found = true;\n return false;\n }\n });\n return found;\n },\n getUniqueId: function () {\n var counter = 0;\n return function () {\n return counter++;\n };\n }(),\n templatify: function templatify(obj) {\n if (this.isFunction(obj)) {\n return obj;\n }\n var $template = DOM.element(obj);\n if ($template.prop('tagName') === 'SCRIPT') {\n return function template() {\n return $template.text();\n };\n }\n return function template() {\n return String(obj);\n };\n },\n defer: function (fn) {\n setTimeout(fn, 0);\n },\n noop: function () {},\n formatPrefix: function (prefix, noPrefix) {\n return noPrefix ? '' : prefix + '-';\n },\n className: function (prefix, clazz, skipDot) {\n return (skipDot ? '' : '.') + prefix + clazz;\n },\n escapeHighlightedString: function (str, highlightPreTag, highlightPostTag) {\n highlightPreTag = highlightPreTag || '';\n var pre = document.createElement('div');\n pre.appendChild(document.createTextNode(highlightPreTag));\n highlightPostTag = highlightPostTag || '';\n var post = document.createElement('div');\n post.appendChild(document.createTextNode(highlightPostTag));\n var div = document.createElement('div');\n div.appendChild(document.createTextNode(str));\n return div.innerHTML.replace(RegExp(escapeRegExp(pre.innerHTML), 'g'), highlightPreTag).replace(RegExp(escapeRegExp(post.innerHTML), 'g'), highlightPostTag);\n }\n};","'use strict';\n\nmodule.exports = {\n element: null\n};","var g;\n\n// This works in non-strict mode\ng = function () {\n return this;\n}();\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;","'use strict';\n\nvar immediate = require('immediate');\nvar splitter = /\\s+/;\nmodule.exports = {\n onSync: onSync,\n onAsync: onAsync,\n off: off,\n trigger: trigger\n};\nfunction on(method, types, cb, context) {\n var type;\n if (!cb) {\n return this;\n }\n types = types.split(splitter);\n cb = context ? bindContext(cb, context) : cb;\n this._callbacks = this._callbacks || {};\n while (type = types.shift()) {\n this._callbacks[type] = this._callbacks[type] || {\n sync: [],\n async: []\n };\n this._callbacks[type][method].push(cb);\n }\n return this;\n}\nfunction onAsync(types, cb, context) {\n return on.call(this, 'async', types, cb, context);\n}\nfunction onSync(types, cb, context) {\n return on.call(this, 'sync', types, cb, context);\n}\nfunction off(types) {\n var type;\n if (!this._callbacks) {\n return this;\n }\n types = types.split(splitter);\n while (type = types.shift()) {\n delete this._callbacks[type];\n }\n return this;\n}\nfunction trigger(types) {\n var type;\n var callbacks;\n var args;\n var syncFlush;\n var asyncFlush;\n if (!this._callbacks) {\n return this;\n }\n types = types.split(splitter);\n args = [].slice.call(arguments, 1);\n while ((type = types.shift()) && (callbacks = this._callbacks[type])) {\n // eslint-disable-line\n syncFlush = getFlush(callbacks.sync, this, [type].concat(args));\n asyncFlush = getFlush(callbacks.async, this, [type].concat(args));\n if (syncFlush()) {\n immediate(asyncFlush);\n }\n }\n return this;\n}\nfunction getFlush(callbacks, context, args) {\n return flush;\n function flush() {\n var cancelled;\n for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) {\n // only cancel if the callback explicitly returns false\n cancelled = callbacks[i].apply(context, args) === false;\n }\n return !cancelled;\n }\n}\nfunction bindContext(fn, context) {\n return fn.bind ? fn.bind(context) : function () {\n fn.apply(context, [].slice.call(arguments, 0));\n };\n}","'use strict';\n\nvar _ = require('../common/utils.js');\nvar css = {\n wrapper: {\n position: 'relative',\n display: 'inline-block'\n },\n hint: {\n position: 'absolute',\n top: '0',\n left: '0',\n borderColor: 'transparent',\n boxShadow: 'none',\n // #741: fix hint opacity issue on iOS\n opacity: '1'\n },\n input: {\n position: 'relative',\n verticalAlign: 'top',\n backgroundColor: 'transparent'\n },\n inputWithNoHint: {\n position: 'relative',\n verticalAlign: 'top'\n },\n dropdown: {\n position: 'absolute',\n top: '100%',\n left: '0',\n zIndex: '100',\n display: 'none'\n },\n suggestions: {\n display: 'block'\n },\n suggestion: {\n whiteSpace: 'nowrap',\n cursor: 'pointer'\n },\n suggestionChild: {\n whiteSpace: 'normal'\n },\n ltr: {\n left: '0',\n right: 'auto'\n },\n rtl: {\n left: 'auto',\n right: '0'\n },\n defaultClasses: {\n root: 'algolia-autocomplete',\n prefix: 'aa',\n noPrefix: false,\n dropdownMenu: 'dropdown-menu',\n input: 'input',\n hint: 'hint',\n suggestions: 'suggestions',\n suggestion: 'suggestion',\n cursor: 'cursor',\n dataset: 'dataset',\n empty: 'empty'\n },\n // will be merged with the default ones if appendTo is used\n appendTo: {\n wrapper: {\n position: 'absolute',\n zIndex: '100',\n display: 'none'\n },\n input: {},\n inputWithNoHint: {},\n dropdown: {\n display: 'block'\n }\n }\n};\n\n// ie specific styling\nif (_.isMsie()) {\n // ie6-8 (and 9?) doesn't fire hover and click events for elements with\n // transparent backgrounds, for a workaround, use 1x1 transparent gif\n _.mixin(css.input, {\n backgroundImage: 'url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)'\n });\n}\n\n// ie7 and under specific styling\nif (_.isMsie() && _.isMsie() <= 7) {\n // if someone can tell me why this is necessary to align\n // the hint with the query in ie7, i'll send you $5 - @JakeHarding\n _.mixin(css.input, {\n marginTop: '-1px'\n });\n}\nmodule.exports = css;","'use strict';\n\nmodule.exports = require('./src/standalone/');","'use strict';\n\nvar namespace = 'autocomplete:';\nvar _ = require('../common/utils.js');\nvar DOM = require('../common/dom.js');\n\n// constructor\n// -----------\n\nfunction EventBus(o) {\n if (!o || !o.el) {\n _.error('EventBus initialized without el');\n }\n this.$el = DOM.element(o.el);\n}\n\n// instance methods\n// ----------------\n\n_.mixin(EventBus.prototype, {\n // ### public\n\n trigger: function (type, suggestion, dataset, context) {\n var event = _.Event(namespace + type);\n this.$el.trigger(event, [suggestion, dataset, context]);\n return event;\n }\n});\nmodule.exports = EventBus;","'use strict';\n\nmodule.exports = {\n wrapper: '',\n dropdown: '',\n dataset: '
',\n suggestions: '',\n suggestion: '
'\n};","module.exports = \"0.38.1\";","'use strict';\n\nmodule.exports = function parseAlgoliaClientVersion(agent) {\n var parsed =\n // User agent for algoliasearch >= 3.33.0\n agent.match(/Algolia for JavaScript \\((\\d+\\.)(\\d+\\.)(\\d+)\\)/) ||\n // User agent for algoliasearch < 3.33.0\n agent.match(/Algolia for vanilla JavaScript (\\d+\\.)(\\d+\\.)(\\d+)/);\n if (parsed) {\n return [parsed[1], parsed[2], parsed[3]];\n }\n return undefined;\n};","/**\n * auth0-js v9.22.1\n * Author: Auth0\n * Date: 2023-07-18\n * License: MIT\n */\n\nvar commonjsGlobal = \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : {};\nfunction createCommonjsModule(fn, module) {\n return fn(module = {\n exports: {}\n }, module.exports), module.exports;\n}\nvar urlJoin = createCommonjsModule(function (module) {\n var context, definition;\n context = commonjsGlobal, definition = function () {\n function normalize(strArray) {\n var resultArray = [];\n if (0 === strArray.length) return \"\";\n if (\"string\" != typeof strArray[0]) throw new TypeError(\"Url must be a string. Received \" + strArray[0]);\n if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n var first = strArray.shift();\n strArray[0] = first + strArray[0];\n }\n strArray[0].match(/^file:\\/\\/\\//) ? strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, \"$1:///\") : strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, \"$1://\");\n for (var i = 0; i < strArray.length; i++) {\n var component = strArray[i];\n if (\"string\" != typeof component) throw new TypeError(\"Url must be a string. Received \" + component);\n \"\" !== component && (i > 0 && (component = component.replace(/^[\\/]+/, \"\")), component = i < strArray.length - 1 ? component.replace(/[\\/]+$/, \"\") : component.replace(/[\\/]+$/, \"/\"), resultArray.push(component));\n }\n var str = resultArray.join(\"/\"),\n parts = (str = str.replace(/\\/(\\?|&|#[^!])/g, \"$1\")).split(\"?\");\n return str = parts.shift() + (parts.length > 0 ? \"?\" : \"\") + parts.join(\"&\");\n }\n return function () {\n return normalize(\"object\" == typeof arguments[0] ? arguments[0] : [].slice.call(arguments));\n };\n }, module.exports ? module.exports = definition() : context.urljoin = definition();\n }),\n origSymbol = \"undefined\" != typeof Symbol && Symbol,\n test = {\n foo: {}\n },\n $Object = Object,\n ERROR_MESSAGE = \"Function.prototype.bind called on incompatible \",\n slice = Array.prototype.slice,\n toStr = Object.prototype.toString,\n functionBind = Function.prototype.bind || function (that) {\n var target = this;\n if (\"function\" != typeof target || \"[object Function]\" !== toStr.call(target)) throw new TypeError(ERROR_MESSAGE + target);\n for (var bound, args = slice.call(arguments, 1), binder = function () {\n if (this instanceof bound) {\n var result = target.apply(this, args.concat(slice.call(arguments)));\n return Object(result) === result ? result : this;\n }\n return target.apply(that, args.concat(slice.call(arguments)));\n }, boundLength = Math.max(0, target.length - args.length), boundArgs = [], i = 0; i < boundLength; i++) boundArgs.push(\"$\" + i);\n if (bound = Function(\"binder\", \"return function (\" + boundArgs.join(\",\") + \"){ return binder.apply(this,arguments); }\")(binder), target.prototype) {\n var Empty = function () {};\n Empty.prototype = target.prototype, bound.prototype = new Empty(), Empty.prototype = null;\n }\n return bound;\n },\n src = functionBind.call(Function.call, Object.prototype.hasOwnProperty),\n $SyntaxError = SyntaxError,\n $Function = Function,\n $TypeError = TypeError,\n getEvalledConstructor = function (expressionSyntax) {\n try {\n return $Function('\"use strict\"; return (' + expressionSyntax + \").constructor;\")();\n } catch (e) {}\n },\n $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) try {\n $gOPD({}, \"\");\n} catch (e) {\n $gOPD = null;\n}\nvar throwTypeError = function () {\n throw new $TypeError();\n },\n ThrowTypeError = $gOPD ? function () {\n try {\n return throwTypeError;\n } catch (calleeThrows) {\n try {\n return $gOPD(arguments, \"callee\").get;\n } catch (gOPDthrows) {\n return throwTypeError;\n }\n }\n }() : throwTypeError,\n hasSymbols$1 = \"function\" == typeof origSymbol && \"function\" == typeof Symbol && \"symbol\" == typeof origSymbol(\"foo\") && \"symbol\" == typeof Symbol(\"bar\") && function () {\n if (\"function\" != typeof Symbol || \"function\" != typeof Object.getOwnPropertySymbols) return !1;\n if (\"symbol\" == typeof Symbol.iterator) return !0;\n var obj = {},\n sym = Symbol(\"test\"),\n symObj = Object(sym);\n if (\"string\" == typeof sym) return !1;\n if (\"[object Symbol]\" !== Object.prototype.toString.call(sym)) return !1;\n if (\"[object Symbol]\" !== Object.prototype.toString.call(symObj)) return !1;\n for (sym in obj[sym] = 42, obj) return !1;\n if (\"function\" == typeof Object.keys && 0 !== Object.keys(obj).length) return !1;\n if (\"function\" == typeof Object.getOwnPropertyNames && 0 !== Object.getOwnPropertyNames(obj).length) return !1;\n var syms = Object.getOwnPropertySymbols(obj);\n if (1 !== syms.length || syms[0] !== sym) return !1;\n if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) return !1;\n if (\"function\" == typeof Object.getOwnPropertyDescriptor) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n if (42 !== descriptor.value || !0 !== descriptor.enumerable) return !1;\n }\n return !0;\n }(),\n hasProto$1 = {\n __proto__: test\n }.foo === test.foo && !({\n __proto__: null\n } instanceof $Object),\n getProto = Object.getPrototypeOf || (hasProto$1 ? function (x) {\n return x.__proto__;\n } : null),\n needsEval = {},\n TypedArray = \"undefined\" != typeof Uint8Array && getProto ? getProto(Uint8Array) : void 0,\n INTRINSICS = {\n \"%AggregateError%\": \"undefined\" == typeof AggregateError ? void 0 : AggregateError,\n \"%Array%\": Array,\n \"%ArrayBuffer%\": \"undefined\" == typeof ArrayBuffer ? void 0 : ArrayBuffer,\n \"%ArrayIteratorPrototype%\": hasSymbols$1 && getProto ? getProto([][Symbol.iterator]()) : void 0,\n \"%AsyncFromSyncIteratorPrototype%\": void 0,\n \"%AsyncFunction%\": needsEval,\n \"%AsyncGenerator%\": needsEval,\n \"%AsyncGeneratorFunction%\": needsEval,\n \"%AsyncIteratorPrototype%\": needsEval,\n \"%Atomics%\": \"undefined\" == typeof Atomics ? void 0 : Atomics,\n \"%BigInt%\": \"undefined\" == typeof BigInt ? void 0 : BigInt,\n \"%BigInt64Array%\": \"undefined\" == typeof BigInt64Array ? void 0 : BigInt64Array,\n \"%BigUint64Array%\": \"undefined\" == typeof BigUint64Array ? void 0 : BigUint64Array,\n \"%Boolean%\": Boolean,\n \"%DataView%\": \"undefined\" == typeof DataView ? void 0 : DataView,\n \"%Date%\": Date,\n \"%decodeURI%\": decodeURI,\n \"%decodeURIComponent%\": decodeURIComponent,\n \"%encodeURI%\": encodeURI,\n \"%encodeURIComponent%\": encodeURIComponent,\n \"%Error%\": Error,\n \"%eval%\": eval,\n \"%EvalError%\": EvalError,\n \"%Float32Array%\": \"undefined\" == typeof Float32Array ? void 0 : Float32Array,\n \"%Float64Array%\": \"undefined\" == typeof Float64Array ? void 0 : Float64Array,\n \"%FinalizationRegistry%\": \"undefined\" == typeof FinalizationRegistry ? void 0 : FinalizationRegistry,\n \"%Function%\": $Function,\n \"%GeneratorFunction%\": needsEval,\n \"%Int8Array%\": \"undefined\" == typeof Int8Array ? void 0 : Int8Array,\n \"%Int16Array%\": \"undefined\" == typeof Int16Array ? void 0 : Int16Array,\n \"%Int32Array%\": \"undefined\" == typeof Int32Array ? void 0 : Int32Array,\n \"%isFinite%\": isFinite,\n \"%isNaN%\": isNaN,\n \"%IteratorPrototype%\": hasSymbols$1 && getProto ? getProto(getProto([][Symbol.iterator]())) : void 0,\n \"%JSON%\": \"object\" == typeof JSON ? JSON : void 0,\n \"%Map%\": \"undefined\" == typeof Map ? void 0 : Map,\n \"%MapIteratorPrototype%\": \"undefined\" != typeof Map && hasSymbols$1 && getProto ? getProto(new Map()[Symbol.iterator]()) : void 0,\n \"%Math%\": Math,\n \"%Number%\": Number,\n \"%Object%\": Object,\n \"%parseFloat%\": parseFloat,\n \"%parseInt%\": parseInt,\n \"%Promise%\": \"undefined\" == typeof Promise ? void 0 : Promise,\n \"%Proxy%\": \"undefined\" == typeof Proxy ? void 0 : Proxy,\n \"%RangeError%\": RangeError,\n \"%ReferenceError%\": ReferenceError,\n \"%Reflect%\": \"undefined\" == typeof Reflect ? void 0 : Reflect,\n \"%RegExp%\": RegExp,\n \"%Set%\": \"undefined\" == typeof Set ? void 0 : Set,\n \"%SetIteratorPrototype%\": \"undefined\" != typeof Set && hasSymbols$1 && getProto ? getProto(new Set()[Symbol.iterator]()) : void 0,\n \"%SharedArrayBuffer%\": \"undefined\" == typeof SharedArrayBuffer ? void 0 : SharedArrayBuffer,\n \"%String%\": String,\n \"%StringIteratorPrototype%\": hasSymbols$1 && getProto ? getProto(\"\"[Symbol.iterator]()) : void 0,\n \"%Symbol%\": hasSymbols$1 ? Symbol : void 0,\n \"%SyntaxError%\": $SyntaxError,\n \"%ThrowTypeError%\": ThrowTypeError,\n \"%TypedArray%\": TypedArray,\n \"%TypeError%\": $TypeError,\n \"%Uint8Array%\": \"undefined\" == typeof Uint8Array ? void 0 : Uint8Array,\n \"%Uint8ClampedArray%\": \"undefined\" == typeof Uint8ClampedArray ? void 0 : Uint8ClampedArray,\n \"%Uint16Array%\": \"undefined\" == typeof Uint16Array ? void 0 : Uint16Array,\n \"%Uint32Array%\": \"undefined\" == typeof Uint32Array ? void 0 : Uint32Array,\n \"%URIError%\": URIError,\n \"%WeakMap%\": \"undefined\" == typeof WeakMap ? void 0 : WeakMap,\n \"%WeakRef%\": \"undefined\" == typeof WeakRef ? void 0 : WeakRef,\n \"%WeakSet%\": \"undefined\" == typeof WeakSet ? void 0 : WeakSet\n };\nif (getProto) try {\n null.error;\n} catch (e) {\n var errorProto = getProto(getProto(e));\n INTRINSICS[\"%Error.prototype%\"] = errorProto;\n}\nvar LEGACY_ALIASES = {\n \"%ArrayBufferPrototype%\": [\"ArrayBuffer\", \"prototype\"],\n \"%ArrayPrototype%\": [\"Array\", \"prototype\"],\n \"%ArrayProto_entries%\": [\"Array\", \"prototype\", \"entries\"],\n \"%ArrayProto_forEach%\": [\"Array\", \"prototype\", \"forEach\"],\n \"%ArrayProto_keys%\": [\"Array\", \"prototype\", \"keys\"],\n \"%ArrayProto_values%\": [\"Array\", \"prototype\", \"values\"],\n \"%AsyncFunctionPrototype%\": [\"AsyncFunction\", \"prototype\"],\n \"%AsyncGenerator%\": [\"AsyncGeneratorFunction\", \"prototype\"],\n \"%AsyncGeneratorPrototype%\": [\"AsyncGeneratorFunction\", \"prototype\", \"prototype\"],\n \"%BooleanPrototype%\": [\"Boolean\", \"prototype\"],\n \"%DataViewPrototype%\": [\"DataView\", \"prototype\"],\n \"%DatePrototype%\": [\"Date\", \"prototype\"],\n \"%ErrorPrototype%\": [\"Error\", \"prototype\"],\n \"%EvalErrorPrototype%\": [\"EvalError\", \"prototype\"],\n \"%Float32ArrayPrototype%\": [\"Float32Array\", \"prototype\"],\n \"%Float64ArrayPrototype%\": [\"Float64Array\", \"prototype\"],\n \"%FunctionPrototype%\": [\"Function\", \"prototype\"],\n \"%Generator%\": [\"GeneratorFunction\", \"prototype\"],\n \"%GeneratorPrototype%\": [\"GeneratorFunction\", \"prototype\", \"prototype\"],\n \"%Int8ArrayPrototype%\": [\"Int8Array\", \"prototype\"],\n \"%Int16ArrayPrototype%\": [\"Int16Array\", \"prototype\"],\n \"%Int32ArrayPrototype%\": [\"Int32Array\", \"prototype\"],\n \"%JSONParse%\": [\"JSON\", \"parse\"],\n \"%JSONStringify%\": [\"JSON\", \"stringify\"],\n \"%MapPrototype%\": [\"Map\", \"prototype\"],\n \"%NumberPrototype%\": [\"Number\", \"prototype\"],\n \"%ObjectPrototype%\": [\"Object\", \"prototype\"],\n \"%ObjProto_toString%\": [\"Object\", \"prototype\", \"toString\"],\n \"%ObjProto_valueOf%\": [\"Object\", \"prototype\", \"valueOf\"],\n \"%PromisePrototype%\": [\"Promise\", \"prototype\"],\n \"%PromiseProto_then%\": [\"Promise\", \"prototype\", \"then\"],\n \"%Promise_all%\": [\"Promise\", \"all\"],\n \"%Promise_reject%\": [\"Promise\", \"reject\"],\n \"%Promise_resolve%\": [\"Promise\", \"resolve\"],\n \"%RangeErrorPrototype%\": [\"RangeError\", \"prototype\"],\n \"%ReferenceErrorPrototype%\": [\"ReferenceError\", \"prototype\"],\n \"%RegExpPrototype%\": [\"RegExp\", \"prototype\"],\n \"%SetPrototype%\": [\"Set\", \"prototype\"],\n \"%SharedArrayBufferPrototype%\": [\"SharedArrayBuffer\", \"prototype\"],\n \"%StringPrototype%\": [\"String\", \"prototype\"],\n \"%SymbolPrototype%\": [\"Symbol\", \"prototype\"],\n \"%SyntaxErrorPrototype%\": [\"SyntaxError\", \"prototype\"],\n \"%TypedArrayPrototype%\": [\"TypedArray\", \"prototype\"],\n \"%TypeErrorPrototype%\": [\"TypeError\", \"prototype\"],\n \"%Uint8ArrayPrototype%\": [\"Uint8Array\", \"prototype\"],\n \"%Uint8ClampedArrayPrototype%\": [\"Uint8ClampedArray\", \"prototype\"],\n \"%Uint16ArrayPrototype%\": [\"Uint16Array\", \"prototype\"],\n \"%Uint32ArrayPrototype%\": [\"Uint32Array\", \"prototype\"],\n \"%URIErrorPrototype%\": [\"URIError\", \"prototype\"],\n \"%WeakMapPrototype%\": [\"WeakMap\", \"prototype\"],\n \"%WeakSetPrototype%\": [\"WeakSet\", \"prototype\"]\n },\n $concat = functionBind.call(Function.call, Array.prototype.concat),\n $spliceApply = functionBind.call(Function.apply, Array.prototype.splice),\n $replace = functionBind.call(Function.call, String.prototype.replace),\n $strSlice = functionBind.call(Function.call, String.prototype.slice),\n $exec = functionBind.call(Function.call, RegExp.prototype.exec),\n rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,\n reEscapeChar = /\\\\(\\\\)?/g,\n stringToPath = function (string) {\n var first = $strSlice(string, 0, 1),\n last = $strSlice(string, -1);\n if (\"%\" === first && \"%\" !== last) throw new $SyntaxError(\"invalid intrinsic syntax, expected closing `%`\");\n if (\"%\" === last && \"%\" !== first) throw new $SyntaxError(\"invalid intrinsic syntax, expected opening `%`\");\n var result = [];\n return $replace(string, rePropName, function (match, number, quote, subString) {\n result[result.length] = quote ? $replace(subString, reEscapeChar, \"$1\") : number || match;\n }), result;\n },\n getBaseIntrinsic = function (name, allowMissing) {\n var alias,\n intrinsicName = name;\n if (src(LEGACY_ALIASES, intrinsicName) && (intrinsicName = \"%\" + (alias = LEGACY_ALIASES[intrinsicName])[0] + \"%\"), src(INTRINSICS, intrinsicName)) {\n var value = INTRINSICS[intrinsicName];\n if (value === needsEval && (value = function doEval(name) {\n var value;\n if (\"%AsyncFunction%\" === name) value = getEvalledConstructor(\"async function () {}\");else if (\"%GeneratorFunction%\" === name) value = getEvalledConstructor(\"function* () {}\");else if (\"%AsyncGeneratorFunction%\" === name) value = getEvalledConstructor(\"async function* () {}\");else if (\"%AsyncGenerator%\" === name) {\n var fn = doEval(\"%AsyncGeneratorFunction%\");\n fn && (value = fn.prototype);\n } else if (\"%AsyncIteratorPrototype%\" === name) {\n var gen = doEval(\"%AsyncGenerator%\");\n gen && getProto && (value = getProto(gen.prototype));\n }\n return INTRINSICS[name] = value, value;\n }(intrinsicName)), void 0 === value && !allowMissing) throw new $TypeError(\"intrinsic \" + name + \" exists, but is not available. Please file an issue!\");\n return {\n alias: alias,\n name: intrinsicName,\n value: value\n };\n }\n throw new $SyntaxError(\"intrinsic \" + name + \" does not exist!\");\n },\n getIntrinsic = function (name, allowMissing) {\n if (\"string\" != typeof name || 0 === name.length) throw new $TypeError(\"intrinsic name must be a non-empty string\");\n if (arguments.length > 1 && \"boolean\" != typeof allowMissing) throw new $TypeError('\"allowMissing\" argument must be a boolean');\n if (null === $exec(/^%?[^%]*%?$/, name)) throw new $SyntaxError(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");\n var parts = stringToPath(name),\n intrinsicBaseName = parts.length > 0 ? parts[0] : \"\",\n intrinsic = getBaseIntrinsic(\"%\" + intrinsicBaseName + \"%\", allowMissing),\n intrinsicRealName = intrinsic.name,\n value = intrinsic.value,\n skipFurtherCaching = !1,\n alias = intrinsic.alias;\n alias && (intrinsicBaseName = alias[0], $spliceApply(parts, $concat([0, 1], alias)));\n for (var i = 1, isOwn = !0; i < parts.length; i += 1) {\n var part = parts[i],\n first = $strSlice(part, 0, 1),\n last = $strSlice(part, -1);\n if (('\"' === first || \"'\" === first || \"`\" === first || '\"' === last || \"'\" === last || \"`\" === last) && first !== last) throw new $SyntaxError(\"property names with quotes must have matching quotes\");\n if (\"constructor\" !== part && isOwn || (skipFurtherCaching = !0), src(INTRINSICS, intrinsicRealName = \"%\" + (intrinsicBaseName += \".\" + part) + \"%\")) value = INTRINSICS[intrinsicRealName];else if (null != value) {\n if (!(part in value)) {\n if (!allowMissing) throw new $TypeError(\"base intrinsic for \" + name + \" exists, but the property is not available.\");\n return;\n }\n if ($gOPD && i + 1 >= parts.length) {\n var desc = $gOPD(value, part);\n value = (isOwn = !!desc) && \"get\" in desc && !(\"originalValue\" in desc.get) ? desc.get : value[part];\n } else isOwn = src(value, part), value = value[part];\n isOwn && !skipFurtherCaching && (INTRINSICS[intrinsicRealName] = value);\n }\n }\n return value;\n },\n callBind = createCommonjsModule(function (module) {\n var $apply = getIntrinsic(\"%Function.prototype.apply%\"),\n $call = getIntrinsic(\"%Function.prototype.call%\"),\n $reflectApply = getIntrinsic(\"%Reflect.apply%\", !0) || functionBind.call($call, $apply),\n $gOPD = getIntrinsic(\"%Object.getOwnPropertyDescriptor%\", !0),\n $defineProperty = getIntrinsic(\"%Object.defineProperty%\", !0),\n $max = getIntrinsic(\"%Math.max%\");\n if ($defineProperty) try {\n $defineProperty({}, \"a\", {\n value: 1\n });\n } catch (e) {\n $defineProperty = null;\n }\n module.exports = function (originalFunction) {\n var func = $reflectApply(functionBind, $call, arguments);\n if ($gOPD && $defineProperty) {\n var desc = $gOPD(func, \"length\");\n desc.configurable && $defineProperty(func, \"length\", {\n value: 1 + $max(0, originalFunction.length - (arguments.length - 1))\n });\n }\n return func;\n };\n var applyBind = function () {\n return $reflectApply(functionBind, $apply, arguments);\n };\n $defineProperty ? $defineProperty(module.exports, \"apply\", {\n value: applyBind\n }) : module.exports.apply = applyBind;\n }),\n $indexOf = (callBind.apply, callBind(getIntrinsic(\"String.prototype.indexOf\"))),\n callBound = function (name, allowMissing) {\n var intrinsic = getIntrinsic(name, !!allowMissing);\n return \"function\" == typeof intrinsic && $indexOf(name, \".prototype.\") > -1 ? callBind(intrinsic) : intrinsic;\n },\n semver = function (n) {\n return n && n.default || n;\n }(Object.freeze({\n __proto__: null,\n default: {}\n })),\n hasMap = \"function\" == typeof Map && Map.prototype,\n mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, \"size\") : null,\n mapSize = hasMap && mapSizeDescriptor && \"function\" == typeof mapSizeDescriptor.get ? mapSizeDescriptor.get : null,\n mapForEach = hasMap && Map.prototype.forEach,\n hasSet = \"function\" == typeof Set && Set.prototype,\n setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, \"size\") : null,\n setSize = hasSet && setSizeDescriptor && \"function\" == typeof setSizeDescriptor.get ? setSizeDescriptor.get : null,\n setForEach = hasSet && Set.prototype.forEach,\n weakMapHas = \"function\" == typeof WeakMap && WeakMap.prototype ? WeakMap.prototype.has : null,\n weakSetHas = \"function\" == typeof WeakSet && WeakSet.prototype ? WeakSet.prototype.has : null,\n weakRefDeref = \"function\" == typeof WeakRef && WeakRef.prototype ? WeakRef.prototype.deref : null,\n booleanValueOf = Boolean.prototype.valueOf,\n objectToString = Object.prototype.toString,\n functionToString = Function.prototype.toString,\n $match = String.prototype.match,\n $slice = String.prototype.slice,\n $replace$1 = String.prototype.replace,\n $toUpperCase = String.prototype.toUpperCase,\n $toLowerCase = String.prototype.toLowerCase,\n $test = RegExp.prototype.test,\n $concat$1 = Array.prototype.concat,\n $join = Array.prototype.join,\n $arrSlice = Array.prototype.slice,\n $floor = Math.floor,\n bigIntValueOf = \"function\" == typeof BigInt ? BigInt.prototype.valueOf : null,\n gOPS = Object.getOwnPropertySymbols,\n symToString = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? Symbol.prototype.toString : null,\n hasShammedSymbols = \"function\" == typeof Symbol && \"object\" == typeof Symbol.iterator,\n toStringTag = \"function\" == typeof Symbol && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols || \"symbol\") ? Symbol.toStringTag : null,\n isEnumerable = Object.prototype.propertyIsEnumerable,\n gPO = (\"function\" == typeof Reflect ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function (O) {\n return O.__proto__;\n } : null);\nfunction addNumericSeparator(num, str) {\n if (num === 1 / 0 || num === -1 / 0 || num != num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) return str;\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (\"number\" == typeof num) {\n var int = num < 0 ? -$floor(-num) : $floor(num);\n if (int !== num) {\n var intStr = String(int),\n dec = $slice.call(str, intStr.length + 1);\n return $replace$1.call(intStr, sepRegex, \"$&_\") + \".\" + $replace$1.call($replace$1.call(dec, /([0-9]{3})/g, \"$&_\"), /_$/, \"\");\n }\n }\n return $replace$1.call(str, sepRegex, \"$&_\");\n}\nvar inspectCustom = semver.custom,\n inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null,\n objectInspect = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n if (has(opts, \"quoteStyle\") && \"single\" !== opts.quoteStyle && \"double\" !== opts.quoteStyle) throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n if (has(opts, \"maxStringLength\") && (\"number\" == typeof opts.maxStringLength ? opts.maxStringLength < 0 && opts.maxStringLength !== 1 / 0 : null !== opts.maxStringLength)) throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n var customInspect = !has(opts, \"customInspect\") || opts.customInspect;\n if (\"boolean\" != typeof customInspect && \"symbol\" !== customInspect) throw new TypeError(\"option \\\"customInspect\\\", if provided, must be `true`, `false`, or `'symbol'`\");\n if (has(opts, \"indent\") && null !== opts.indent && \"\\t\" !== opts.indent && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n if (has(opts, \"numericSeparator\") && \"boolean\" != typeof opts.numericSeparator) throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n var numericSeparator = opts.numericSeparator;\n if (void 0 === obj) return \"undefined\";\n if (null === obj) return \"null\";\n if (\"boolean\" == typeof obj) return obj ? \"true\" : \"false\";\n if (\"string\" == typeof obj) return function inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength,\n trailer = \"... \" + remaining + \" more character\" + (remaining > 1 ? \"s\" : \"\");\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n return wrapQuotes($replace$1.call($replace$1.call(str, /(['\\\\])/g, \"\\\\$1\"), /[\\x00-\\x1f]/g, lowbyte), \"single\", opts);\n }(obj, opts);\n if (\"number\" == typeof obj) {\n if (0 === obj) return 1 / 0 / obj > 0 ? \"0\" : \"-0\";\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (\"bigint\" == typeof obj) {\n var bigIntStr = String(obj) + \"n\";\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n var maxDepth = void 0 === opts.depth ? 5 : opts.depth;\n if (void 0 === depth && (depth = 0), depth >= maxDepth && maxDepth > 0 && \"object\" == typeof obj) return isArray(obj) ? \"[Array]\" : \"[Object]\";\n var indent = function (opts, depth) {\n var baseIndent;\n if (\"\\t\" === opts.indent) baseIndent = \"\\t\";else {\n if (!(\"number\" == typeof opts.indent && opts.indent > 0)) return null;\n baseIndent = $join.call(Array(opts.indent + 1), \" \");\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n }(opts, depth);\n if (void 0 === seen) seen = [];else if (indexOf(seen, obj) >= 0) return \"[Circular]\";\n function inspect(value, from, noIndent) {\n if (from && (seen = $arrSlice.call(seen)).push(from), noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n return has(opts, \"quoteStyle\") && (newOpts.quoteStyle = opts.quoteStyle), inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n if (\"function\" == typeof obj && !isRegExp(obj)) {\n var name = function (f) {\n if (f.name) return f.name;\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) return m[1];\n return null;\n }(obj),\n keys = arrObjKeys(obj, inspect);\n return \"[Function\" + (name ? \": \" + name : \" (anonymous)\") + \"]\" + (keys.length > 0 ? \" { \" + $join.call(keys, \", \") + \" }\" : \"\");\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace$1.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, \"$1\") : symToString.call(obj);\n return \"object\" != typeof obj || hasShammedSymbols ? symString : markBoxed(symString);\n }\n if (function (x) {\n if (!x || \"object\" != typeof x) return !1;\n if (\"undefined\" != typeof HTMLElement && x instanceof HTMLElement) return !0;\n return \"string\" == typeof x.nodeName && \"function\" == typeof x.getAttribute;\n }(obj)) {\n for (var s = \"<\" + $toLowerCase.call(String(obj.nodeName)), attrs = obj.attributes || [], i = 0; i < attrs.length; i++) s += \" \" + attrs[i].name + \"=\" + wrapQuotes(quote(attrs[i].value), \"double\", opts);\n return s += \">\", obj.childNodes && obj.childNodes.length && (s += \"...\"), s += \"\";\n }\n if (isArray(obj)) {\n if (0 === obj.length) return \"[]\";\n var xs = arrObjKeys(obj, inspect);\n return indent && !function (xs) {\n for (var i = 0; i < xs.length; i++) if (indexOf(xs[i], \"\\n\") >= 0) return !1;\n return !0;\n }(xs) ? \"[\" + indentedJoin(xs, indent) + \"]\" : \"[ \" + $join.call(xs, \", \") + \" ]\";\n }\n if (function (obj) {\n return !(\"[object Error]\" !== toStr$1(obj) || toStringTag && \"object\" == typeof obj && toStringTag in obj);\n }(obj)) {\n var parts = arrObjKeys(obj, inspect);\n return \"cause\" in Error.prototype || !(\"cause\" in obj) || isEnumerable.call(obj, \"cause\") ? 0 === parts.length ? \"[\" + String(obj) + \"]\" : \"{ [\" + String(obj) + \"] \" + $join.call(parts, \", \") + \" }\" : \"{ [\" + String(obj) + \"] \" + $join.call($concat$1.call(\"[cause]: \" + inspect(obj.cause), parts), \", \") + \" }\";\n }\n if (\"object\" == typeof obj && customInspect) {\n if (inspectSymbol && \"function\" == typeof obj[inspectSymbol] && semver) return semver(obj, {\n depth: maxDepth - depth\n });\n if (\"symbol\" !== customInspect && \"function\" == typeof obj.inspect) return obj.inspect();\n }\n if (function (x) {\n if (!mapSize || !x || \"object\" != typeof x) return !1;\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return !0;\n }\n return x instanceof Map;\n } catch (e) {}\n return !1;\n }(obj)) {\n var mapParts = [];\n return mapForEach && mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, !0) + \" => \" + inspect(value, obj));\n }), collectionOf(\"Map\", mapSize.call(obj), mapParts, indent);\n }\n if (function (x) {\n if (!setSize || !x || \"object\" != typeof x) return !1;\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return !0;\n }\n return x instanceof Set;\n } catch (e) {}\n return !1;\n }(obj)) {\n var setParts = [];\n return setForEach && setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n }), collectionOf(\"Set\", setSize.call(obj), setParts, indent);\n }\n if (function (x) {\n if (!weakMapHas || !x || \"object\" != typeof x) return !1;\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return !0;\n }\n return x instanceof WeakMap;\n } catch (e) {}\n return !1;\n }(obj)) return weakCollectionOf(\"WeakMap\");\n if (function (x) {\n if (!weakSetHas || !x || \"object\" != typeof x) return !1;\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return !0;\n }\n return x instanceof WeakSet;\n } catch (e) {}\n return !1;\n }(obj)) return weakCollectionOf(\"WeakSet\");\n if (function (x) {\n if (!weakRefDeref || !x || \"object\" != typeof x) return !1;\n try {\n return weakRefDeref.call(x), !0;\n } catch (e) {}\n return !1;\n }(obj)) return weakCollectionOf(\"WeakRef\");\n if (function (obj) {\n return !(\"[object Number]\" !== toStr$1(obj) || toStringTag && \"object\" == typeof obj && toStringTag in obj);\n }(obj)) return markBoxed(inspect(Number(obj)));\n if (function (obj) {\n if (!obj || \"object\" != typeof obj || !bigIntValueOf) return !1;\n try {\n return bigIntValueOf.call(obj), !0;\n } catch (e) {}\n return !1;\n }(obj)) return markBoxed(inspect(bigIntValueOf.call(obj)));\n if (function (obj) {\n return !(\"[object Boolean]\" !== toStr$1(obj) || toStringTag && \"object\" == typeof obj && toStringTag in obj);\n }(obj)) return markBoxed(booleanValueOf.call(obj));\n if (function (obj) {\n return !(\"[object String]\" !== toStr$1(obj) || toStringTag && \"object\" == typeof obj && toStringTag in obj);\n }(obj)) return markBoxed(inspect(String(obj)));\n if (!function (obj) {\n return !(\"[object Date]\" !== toStr$1(obj) || toStringTag && \"object\" == typeof obj && toStringTag in obj);\n }(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect),\n isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object,\n protoTag = obj instanceof Object ? \"\" : \"null prototype\",\n stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr$1(obj), 8, -1) : protoTag ? \"Object\" : \"\",\n tag = (isPlainObject || \"function\" != typeof obj.constructor ? \"\" : obj.constructor.name ? obj.constructor.name + \" \" : \"\") + (stringTag || protoTag ? \"[\" + $join.call($concat$1.call([], stringTag || [], protoTag || []), \": \") + \"] \" : \"\");\n return 0 === ys.length ? tag + \"{}\" : indent ? tag + \"{\" + indentedJoin(ys, indent) + \"}\" : tag + \"{ \" + $join.call(ys, \", \") + \" }\";\n }\n return String(obj);\n };\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = \"double\" === (opts.quoteStyle || defaultStyle) ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\nfunction quote(s) {\n return $replace$1.call(String(s), /\"/g, \""\");\n}\nfunction isArray(obj) {\n return !(\"[object Array]\" !== toStr$1(obj) || toStringTag && \"object\" == typeof obj && toStringTag in obj);\n}\nfunction isRegExp(obj) {\n return !(\"[object RegExp]\" !== toStr$1(obj) || toStringTag && \"object\" == typeof obj && toStringTag in obj);\n}\nfunction isSymbol(obj) {\n if (hasShammedSymbols) return obj && \"object\" == typeof obj && obj instanceof Symbol;\n if (\"symbol\" == typeof obj) return !0;\n if (!obj || \"object\" != typeof obj || !symToString) return !1;\n try {\n return symToString.call(obj), !0;\n } catch (e) {}\n return !1;\n}\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) {\n return key in this;\n};\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\nfunction toStr$1(obj) {\n return objectToString.call(obj);\n}\nfunction indexOf(xs, x) {\n if (xs.indexOf) return xs.indexOf(x);\n for (var i = 0, l = xs.length; i < l; i++) if (xs[i] === x) return i;\n return -1;\n}\nfunction lowbyte(c) {\n var n = c.charCodeAt(0),\n x = {\n 8: \"b\",\n 9: \"t\",\n 10: \"n\",\n 12: \"f\",\n 13: \"r\"\n }[n];\n return x ? \"\\\\\" + x : \"\\\\x\" + (n < 16 ? \"0\" : \"\") + $toUpperCase.call(n.toString(16));\n}\nfunction markBoxed(str) {\n return \"Object(\" + str + \")\";\n}\nfunction weakCollectionOf(type) {\n return type + \" { ? }\";\n}\nfunction collectionOf(type, size, entries, indent) {\n return type + \" (\" + size + \") {\" + (indent ? indentedJoin(entries, indent) : $join.call(entries, \", \")) + \"}\";\n}\nfunction indentedJoin(xs, indent) {\n if (0 === xs.length) return \"\";\n var lineJoiner = \"\\n\" + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, \",\" + lineJoiner) + \"\\n\" + indent.prev;\n}\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj),\n xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) xs[i] = has(obj, i) ? inspect(obj[i], obj) : \"\";\n }\n var symMap,\n syms = \"function\" == typeof gOPS ? gOPS(obj) : [];\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) symMap[\"$\" + syms[k]] = syms[k];\n }\n for (var key in obj) has(obj, key) && (isArr && String(Number(key)) === key && key < obj.length || hasShammedSymbols && symMap[\"$\" + key] instanceof Symbol || ($test.call(/[^\\w$]/, key) ? xs.push(inspect(key, obj) + \": \" + inspect(obj[key], obj)) : xs.push(key + \": \" + inspect(obj[key], obj))));\n if (\"function\" == typeof gOPS) for (var j = 0; j < syms.length; j++) isEnumerable.call(obj, syms[j]) && xs.push(\"[\" + inspect(syms[j]) + \"]: \" + inspect(obj[syms[j]], obj));\n return xs;\n}\nvar $TypeError$1 = getIntrinsic(\"%TypeError%\"),\n $WeakMap = getIntrinsic(\"%WeakMap%\", !0),\n $Map = getIntrinsic(\"%Map%\", !0),\n $weakMapGet = callBound(\"WeakMap.prototype.get\", !0),\n $weakMapSet = callBound(\"WeakMap.prototype.set\", !0),\n $weakMapHas = callBound(\"WeakMap.prototype.has\", !0),\n $mapGet = callBound(\"Map.prototype.get\", !0),\n $mapSet = callBound(\"Map.prototype.set\", !0),\n $mapHas = callBound(\"Map.prototype.has\", !0),\n listGetNode = function (list, key) {\n for (var curr, prev = list; null !== (curr = prev.next); prev = curr) if (curr.key === key) return prev.next = curr.next, curr.next = list.next, list.next = curr, curr;\n },\n sideChannel = function () {\n var $wm,\n $m,\n $o,\n channel = {\n assert: function (key) {\n if (!channel.has(key)) throw new $TypeError$1(\"Side channel does not contain \" + objectInspect(key));\n },\n get: function (key) {\n if ($WeakMap && key && (\"object\" == typeof key || \"function\" == typeof key)) {\n if ($wm) return $weakMapGet($wm, key);\n } else if ($Map) {\n if ($m) return $mapGet($m, key);\n } else if ($o) return function (objects, key) {\n var node = listGetNode(objects, key);\n return node && node.value;\n }($o, key);\n },\n has: function (key) {\n if ($WeakMap && key && (\"object\" == typeof key || \"function\" == typeof key)) {\n if ($wm) return $weakMapHas($wm, key);\n } else if ($Map) {\n if ($m) return $mapHas($m, key);\n } else if ($o) return function (objects, key) {\n return !!listGetNode(objects, key);\n }($o, key);\n return !1;\n },\n set: function (key, value) {\n $WeakMap && key && (\"object\" == typeof key || \"function\" == typeof key) ? ($wm || ($wm = new $WeakMap()), $weakMapSet($wm, key, value)) : $Map ? ($m || ($m = new $Map()), $mapSet($m, key, value)) : ($o || ($o = {\n key: {},\n next: null\n }), function (objects, key, value) {\n var node = listGetNode(objects, key);\n node ? node.value = value : objects.next = {\n key: key,\n next: objects.next,\n value: value\n };\n }($o, key, value));\n }\n };\n return channel;\n },\n replace = String.prototype.replace,\n percentTwenties = /%20/g,\n Format_RFC3986 = \"RFC3986\",\n formats = {\n default: Format_RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, \"+\");\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: \"RFC1738\",\n RFC3986: Format_RFC3986\n },\n has$1 = Object.prototype.hasOwnProperty,\n isArray$1 = Array.isArray,\n hexTable = function () {\n for (var array = [], i = 0; i < 256; ++i) array.push(\"%\" + ((i < 16 ? \"0\" : \"\") + i.toString(16)).toUpperCase());\n return array;\n }(),\n arrayToObject = function (source, options) {\n for (var obj = options && options.plainObjects ? Object.create(null) : {}, i = 0; i < source.length; ++i) void 0 !== source[i] && (obj[i] = source[i]);\n return obj;\n },\n utils = {\n arrayToObject: arrayToObject,\n assign: function (target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n return acc[key] = source[key], acc;\n }, target);\n },\n combine: function (a, b) {\n return [].concat(a, b);\n },\n compact: function (value) {\n for (var queue = [{\n obj: {\n o: value\n },\n prop: \"o\"\n }], refs = [], i = 0; i < queue.length; ++i) for (var item = queue[i], obj = item.obj[item.prop], keys = Object.keys(obj), j = 0; j < keys.length; ++j) {\n var key = keys[j],\n val = obj[key];\n \"object\" == typeof val && null !== val && -1 === refs.indexOf(val) && (queue.push({\n obj: obj,\n prop: key\n }), refs.push(val));\n }\n return function (queue) {\n for (; queue.length > 1;) {\n var item = queue.pop(),\n obj = item.obj[item.prop];\n if (isArray$1(obj)) {\n for (var compacted = [], j = 0; j < obj.length; ++j) void 0 !== obj[j] && compacted.push(obj[j]);\n item.obj[item.prop] = compacted;\n }\n }\n }(queue), value;\n },\n decode: function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, \" \");\n if (\"iso-8859-1\" === charset) return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n },\n encode: function (str, defaultEncoder, charset, kind, format) {\n if (0 === str.length) return str;\n var string = str;\n if (\"symbol\" == typeof str ? string = Symbol.prototype.toString.call(str) : \"string\" != typeof str && (string = String(str)), \"iso-8859-1\" === charset) return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return \"%26%23\" + parseInt($0.slice(2), 16) + \"%3B\";\n });\n for (var out = \"\", i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n 45 === c || 46 === c || 95 === c || 126 === c || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats.RFC1738 && (40 === c || 41 === c) ? out += string.charAt(i) : c < 128 ? out += hexTable[c] : c < 2048 ? out += hexTable[192 | c >> 6] + hexTable[128 | 63 & c] : c < 55296 || c >= 57344 ? out += hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | 63 & c] : (i += 1, c = 65536 + ((1023 & c) << 10 | 1023 & string.charCodeAt(i)), out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | 63 & c]);\n }\n return out;\n },\n isBuffer: function (obj) {\n return !(!obj || \"object\" != typeof obj) && !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n },\n isRegExp: function (obj) {\n return \"[object RegExp]\" === Object.prototype.toString.call(obj);\n },\n maybeMap: function (val, fn) {\n if (isArray$1(val)) {\n for (var mapped = [], i = 0; i < val.length; i += 1) mapped.push(fn(val[i]));\n return mapped;\n }\n return fn(val);\n },\n merge: function merge(target, source, options) {\n if (!source) return target;\n if (\"object\" != typeof source) {\n if (isArray$1(target)) target.push(source);else {\n if (!target || \"object\" != typeof target) return [target, source];\n (options && (options.plainObjects || options.allowPrototypes) || !has$1.call(Object.prototype, source)) && (target[source] = !0);\n }\n return target;\n }\n if (!target || \"object\" != typeof target) return [target].concat(source);\n var mergeTarget = target;\n return isArray$1(target) && !isArray$1(source) && (mergeTarget = arrayToObject(target, options)), isArray$1(target) && isArray$1(source) ? (source.forEach(function (item, i) {\n if (has$1.call(target, i)) {\n var targetItem = target[i];\n targetItem && \"object\" == typeof targetItem && item && \"object\" == typeof item ? target[i] = merge(targetItem, item, options) : target.push(item);\n } else target[i] = item;\n }), target) : Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n return has$1.call(acc, key) ? acc[key] = merge(acc[key], value, options) : acc[key] = value, acc;\n }, mergeTarget);\n }\n },\n has$2 = Object.prototype.hasOwnProperty,\n arrayPrefixGenerators = {\n brackets: function (prefix) {\n return prefix + \"[]\";\n },\n comma: \"comma\",\n indices: function (prefix, key) {\n return prefix + \"[\" + key + \"]\";\n },\n repeat: function (prefix) {\n return prefix;\n }\n },\n isArray$2 = Array.isArray,\n push = Array.prototype.push,\n pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray$2(valueOrArray) ? valueOrArray : [valueOrArray]);\n },\n toISO = Date.prototype.toISOString,\n defaultFormat = formats.default,\n defaults = {\n addQueryPrefix: !1,\n allowDots: !1,\n charset: \"utf-8\",\n charsetSentinel: !1,\n delimiter: \"&\",\n encode: !0,\n encoder: utils.encode,\n encodeValuesOnly: !1,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n indices: !1,\n serializeDate: function (date) {\n return toISO.call(date);\n },\n skipNulls: !1,\n strictNullHandling: !1\n },\n sentinel = {},\n stringify = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel$1) {\n for (var obj = object, tmpSc = sideChannel$1, step = 0, findFlag = !1; void 0 !== (tmpSc = tmpSc.get(sentinel)) && !findFlag;) {\n var pos = tmpSc.get(object);\n if (step += 1, void 0 !== pos) {\n if (pos === step) throw new RangeError(\"Cyclic object value\");\n findFlag = !0;\n }\n void 0 === tmpSc.get(sentinel) && (step = 0);\n }\n if (\"function\" == typeof filter ? obj = filter(prefix, obj) : obj instanceof Date ? obj = serializeDate(obj) : \"comma\" === generateArrayPrefix && isArray$2(obj) && (obj = utils.maybeMap(obj, function (value) {\n return value instanceof Date ? serializeDate(value) : value;\n })), null === obj) {\n if (strictNullHandling) return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, \"key\", format) : prefix;\n obj = \"\";\n }\n if (function (v) {\n return \"string\" == typeof v || \"number\" == typeof v || \"boolean\" == typeof v || \"symbol\" == typeof v || \"bigint\" == typeof v;\n }(obj) || utils.isBuffer(obj)) return encoder ? [formatter(encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, \"key\", format)) + \"=\" + formatter(encoder(obj, defaults.encoder, charset, \"value\", format))] : [formatter(prefix) + \"=\" + formatter(String(obj))];\n var objKeys,\n values = [];\n if (void 0 === obj) return values;\n if (\"comma\" === generateArrayPrefix && isArray$2(obj)) encodeValuesOnly && encoder && (obj = utils.maybeMap(obj, encoder)), objKeys = [{\n value: obj.length > 0 ? obj.join(\",\") || null : void 0\n }];else if (isArray$2(filter)) objKeys = filter;else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n for (var adjustedPrefix = commaRoundTrip && isArray$2(obj) && 1 === obj.length ? prefix + \"[]\" : prefix, j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j],\n value = \"object\" == typeof key && void 0 !== key.value ? key.value : obj[key];\n if (!skipNulls || null !== value) {\n var keyPrefix = isArray$2(obj) ? \"function\" == typeof generateArrayPrefix ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix : adjustedPrefix + (allowDots ? \".\" + key : \"[\" + key + \"]\");\n sideChannel$1.set(object, step);\n var valueSideChannel = sideChannel();\n valueSideChannel.set(sentinel, sideChannel$1), pushToArray(values, stringify(value, keyPrefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, \"comma\" === generateArrayPrefix && encodeValuesOnly && isArray$2(obj) ? null : encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel));\n }\n }\n return values;\n },\n has$3 = Object.prototype.hasOwnProperty,\n isArray$3 = Array.isArray,\n defaults$1 = {\n allowDots: !1,\n allowPrototypes: !1,\n allowSparse: !1,\n arrayLimit: 20,\n charset: \"utf-8\",\n charsetSentinel: !1,\n comma: !1,\n decoder: utils.decode,\n delimiter: \"&\",\n depth: 5,\n ignoreQueryPrefix: !1,\n interpretNumericEntities: !1,\n parameterLimit: 1e3,\n parseArrays: !0,\n plainObjects: !1,\n strictNullHandling: !1\n },\n interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n },\n parseArrayValue = function (val, options) {\n return val && \"string\" == typeof val && options.comma && val.indexOf(\",\") > -1 ? val.split(\",\") : val;\n },\n parseKeys = function (givenKey, val, options, valuesParsed) {\n if (givenKey) {\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, \"[$1]\") : givenKey,\n child = /(\\[[^[\\]]*])/g,\n segment = options.depth > 0 && /(\\[[^[\\]]*])/.exec(key),\n parent = segment ? key.slice(0, segment.index) : key,\n keys = [];\n if (parent) {\n if (!options.plainObjects && has$3.call(Object.prototype, parent) && !options.allowPrototypes) return;\n keys.push(parent);\n }\n for (var i = 0; options.depth > 0 && null !== (segment = child.exec(key)) && i < options.depth;) {\n if (i += 1, !options.plainObjects && has$3.call(Object.prototype, segment[1].slice(1, -1)) && !options.allowPrototypes) return;\n keys.push(segment[1]);\n }\n return segment && keys.push(\"[\" + key.slice(segment.index) + \"]\"), function (chain, val, options, valuesParsed) {\n for (var leaf = valuesParsed ? val : parseArrayValue(val, options), i = chain.length - 1; i >= 0; --i) {\n var obj,\n root = chain[i];\n if (\"[]\" === root && options.parseArrays) obj = [].concat(leaf);else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = \"[\" === root.charAt(0) && \"]\" === root.charAt(root.length - 1) ? root.slice(1, -1) : root,\n index = parseInt(cleanRoot, 10);\n options.parseArrays || \"\" !== cleanRoot ? !isNaN(index) && root !== cleanRoot && String(index) === cleanRoot && index >= 0 && options.parseArrays && index <= options.arrayLimit ? (obj = [])[index] = leaf : \"__proto__\" !== cleanRoot && (obj[cleanRoot] = leaf) : obj = {\n 0: leaf\n };\n }\n leaf = obj;\n }\n return leaf;\n }(keys, val, options, valuesParsed);\n }\n },\n lib = {\n formats: formats,\n parse: function (str, opts) {\n var options = function (opts) {\n if (!opts) return defaults$1;\n if (null !== opts.decoder && void 0 !== opts.decoder && \"function\" != typeof opts.decoder) throw new TypeError(\"Decoder has to be a function.\");\n if (void 0 !== opts.charset && \"utf-8\" !== opts.charset && \"iso-8859-1\" !== opts.charset) throw new TypeError(\"The charset option must be either utf-8, iso-8859-1, or undefined\");\n var charset = void 0 === opts.charset ? defaults$1.charset : opts.charset;\n return {\n allowDots: void 0 === opts.allowDots ? defaults$1.allowDots : !!opts.allowDots,\n allowPrototypes: \"boolean\" == typeof opts.allowPrototypes ? opts.allowPrototypes : defaults$1.allowPrototypes,\n allowSparse: \"boolean\" == typeof opts.allowSparse ? opts.allowSparse : defaults$1.allowSparse,\n arrayLimit: \"number\" == typeof opts.arrayLimit ? opts.arrayLimit : defaults$1.arrayLimit,\n charset: charset,\n charsetSentinel: \"boolean\" == typeof opts.charsetSentinel ? opts.charsetSentinel : defaults$1.charsetSentinel,\n comma: \"boolean\" == typeof opts.comma ? opts.comma : defaults$1.comma,\n decoder: \"function\" == typeof opts.decoder ? opts.decoder : defaults$1.decoder,\n delimiter: \"string\" == typeof opts.delimiter || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults$1.delimiter,\n depth: \"number\" == typeof opts.depth || !1 === opts.depth ? +opts.depth : defaults$1.depth,\n ignoreQueryPrefix: !0 === opts.ignoreQueryPrefix,\n interpretNumericEntities: \"boolean\" == typeof opts.interpretNumericEntities ? opts.interpretNumericEntities : defaults$1.interpretNumericEntities,\n parameterLimit: \"number\" == typeof opts.parameterLimit ? opts.parameterLimit : defaults$1.parameterLimit,\n parseArrays: !1 !== opts.parseArrays,\n plainObjects: \"boolean\" == typeof opts.plainObjects ? opts.plainObjects : defaults$1.plainObjects,\n strictNullHandling: \"boolean\" == typeof opts.strictNullHandling ? opts.strictNullHandling : defaults$1.strictNullHandling\n };\n }(opts);\n if (\"\" === str || null == str) return options.plainObjects ? Object.create(null) : {};\n for (var tempObj = \"string\" == typeof str ? function (str, options) {\n var i,\n obj = {\n __proto__: null\n },\n cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, \"\") : str,\n limit = options.parameterLimit === 1 / 0 ? void 0 : options.parameterLimit,\n parts = cleanStr.split(options.delimiter, limit),\n skipIndex = -1,\n charset = options.charset;\n if (options.charsetSentinel) for (i = 0; i < parts.length; ++i) 0 === parts[i].indexOf(\"utf8=\") && (\"utf8=%E2%9C%93\" === parts[i] ? charset = \"utf-8\" : \"utf8=%26%2310003%3B\" === parts[i] && (charset = \"iso-8859-1\"), skipIndex = i, i = parts.length);\n for (i = 0; i < parts.length; ++i) if (i !== skipIndex) {\n var key,\n val,\n part = parts[i],\n bracketEqualsPos = part.indexOf(\"]=\"),\n pos = -1 === bracketEqualsPos ? part.indexOf(\"=\") : bracketEqualsPos + 1;\n -1 === pos ? (key = options.decoder(part, defaults$1.decoder, charset, \"key\"), val = options.strictNullHandling ? null : \"\") : (key = options.decoder(part.slice(0, pos), defaults$1.decoder, charset, \"key\"), val = utils.maybeMap(parseArrayValue(part.slice(pos + 1), options), function (encodedVal) {\n return options.decoder(encodedVal, defaults$1.decoder, charset, \"value\");\n })), val && options.interpretNumericEntities && \"iso-8859-1\" === charset && (val = interpretNumericEntities(val)), part.indexOf(\"[]=\") > -1 && (val = isArray$3(val) ? [val] : val), has$3.call(obj, key) ? obj[key] = utils.combine(obj[key], val) : obj[key] = val;\n }\n return obj;\n }(str, options) : str, obj = options.plainObjects ? Object.create(null) : {}, keys = Object.keys(tempObj), i = 0; i < keys.length; ++i) {\n var key = keys[i],\n newObj = parseKeys(key, tempObj[key], options, \"string\" == typeof str);\n obj = utils.merge(obj, newObj, options);\n }\n return !0 === options.allowSparse ? obj : utils.compact(obj);\n },\n stringify: function (object, opts) {\n var objKeys,\n obj = object,\n options = function (opts) {\n if (!opts) return defaults;\n if (null !== opts.encoder && void 0 !== opts.encoder && \"function\" != typeof opts.encoder) throw new TypeError(\"Encoder has to be a function.\");\n var charset = opts.charset || defaults.charset;\n if (void 0 !== opts.charset && \"utf-8\" !== opts.charset && \"iso-8859-1\" !== opts.charset) throw new TypeError(\"The charset option must be either utf-8, iso-8859-1, or undefined\");\n var format = formats.default;\n if (void 0 !== opts.format) {\n if (!has$2.call(formats.formatters, opts.format)) throw new TypeError(\"Unknown format option provided.\");\n format = opts.format;\n }\n var formatter = formats.formatters[format],\n filter = defaults.filter;\n return (\"function\" == typeof opts.filter || isArray$2(opts.filter)) && (filter = opts.filter), {\n addQueryPrefix: \"boolean\" == typeof opts.addQueryPrefix ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: void 0 === opts.allowDots ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: \"boolean\" == typeof opts.charsetSentinel ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: void 0 === opts.delimiter ? defaults.delimiter : opts.delimiter,\n encode: \"boolean\" == typeof opts.encode ? opts.encode : defaults.encode,\n encoder: \"function\" == typeof opts.encoder ? opts.encoder : defaults.encoder,\n encodeValuesOnly: \"boolean\" == typeof opts.encodeValuesOnly ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: \"function\" == typeof opts.serializeDate ? opts.serializeDate : defaults.serializeDate,\n skipNulls: \"boolean\" == typeof opts.skipNulls ? opts.skipNulls : defaults.skipNulls,\n sort: \"function\" == typeof opts.sort ? opts.sort : null,\n strictNullHandling: \"boolean\" == typeof opts.strictNullHandling ? opts.strictNullHandling : defaults.strictNullHandling\n };\n }(opts);\n \"function\" == typeof options.filter ? obj = (0, options.filter)(\"\", obj) : isArray$2(options.filter) && (objKeys = options.filter);\n var arrayFormat,\n keys = [];\n if (\"object\" != typeof obj || null === obj) return \"\";\n arrayFormat = opts && opts.arrayFormat in arrayPrefixGenerators ? opts.arrayFormat : opts && \"indices\" in opts ? opts.indices ? \"indices\" : \"repeat\" : \"indices\";\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && \"commaRoundTrip\" in opts && \"boolean\" != typeof opts.commaRoundTrip) throw new TypeError(\"`commaRoundTrip` must be a boolean, or absent\");\n var commaRoundTrip = \"comma\" === generateArrayPrefix && opts && opts.commaRoundTrip;\n objKeys || (objKeys = Object.keys(obj)), options.sort && objKeys.sort(options.sort);\n for (var sideChannel$1 = sideChannel(), i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n options.skipNulls && null === obj[key] || pushToArray(keys, stringify(obj[key], key, generateArrayPrefix, commaRoundTrip, options.strictNullHandling, options.skipNulls, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel$1));\n }\n var joined = keys.join(options.delimiter),\n prefix = !0 === options.addQueryPrefix ? \"?\" : \"\";\n return options.charsetSentinel && (\"iso-8859-1\" === options.charset ? prefix += \"utf8=%26%2310003%3B&\" : prefix += \"utf8=%E2%9C%93&\"), joined.length > 0 ? prefix + joined : \"\";\n }\n },\n componentEmitter = createCommonjsModule(function (module) {\n function Emitter(obj) {\n if (obj) return function (obj) {\n for (var key in Emitter.prototype) obj[key] = Emitter.prototype[key];\n return obj;\n }(obj);\n }\n module.exports = Emitter, Emitter.prototype.on = Emitter.prototype.addEventListener = function (event, fn) {\n return this._callbacks = this._callbacks || {}, (this._callbacks[\"$\" + event] = this._callbacks[\"$\" + event] || []).push(fn), this;\n }, Emitter.prototype.once = function (event, fn) {\n function on() {\n this.off(event, on), fn.apply(this, arguments);\n }\n return on.fn = fn, this.on(event, on), this;\n }, Emitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function (event, fn) {\n if (this._callbacks = this._callbacks || {}, 0 == arguments.length) return this._callbacks = {}, this;\n var cb,\n callbacks = this._callbacks[\"$\" + event];\n if (!callbacks) return this;\n if (1 == arguments.length) return delete this._callbacks[\"$\" + event], this;\n for (var i = 0; i < callbacks.length; i++) if ((cb = callbacks[i]) === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n return 0 === callbacks.length && delete this._callbacks[\"$\" + event], this;\n }, Emitter.prototype.emit = function (event) {\n this._callbacks = this._callbacks || {};\n for (var args = new Array(arguments.length - 1), callbacks = this._callbacks[\"$\" + event], i = 1; i < arguments.length; i++) args[i - 1] = arguments[i];\n if (callbacks) {\n i = 0;\n for (var len = (callbacks = callbacks.slice(0)).length; i < len; ++i) callbacks[i].apply(this, args);\n }\n return this;\n }, Emitter.prototype.listeners = function (event) {\n return this._callbacks = this._callbacks || {}, this._callbacks[\"$\" + event] || [];\n }, Emitter.prototype.hasListeners = function (event) {\n return !!this.listeners(event).length;\n };\n }),\n fastSafeStringify = stringify$1;\nstringify$1.default = stringify$1, stringify$1.stable = deterministicStringify, stringify$1.stableStringify = deterministicStringify;\nvar arr = [],\n replacerStack = [];\nfunction defaultOptions() {\n return {\n depthLimit: Number.MAX_SAFE_INTEGER,\n edgesLimit: Number.MAX_SAFE_INTEGER\n };\n}\nfunction stringify$1(obj, replacer, spacer, options) {\n var res;\n void 0 === options && (options = defaultOptions()), function decirc(val, k, edgeIndex, stack, parent, depth, options) {\n var i;\n if (depth += 1, \"object\" == typeof val && null !== val) {\n for (i = 0; i < stack.length; i++) if (stack[i] === val) return void setReplace(\"[Circular]\", val, k, parent);\n if (void 0 !== options.depthLimit && depth > options.depthLimit) return void setReplace(\"[...]\", val, k, parent);\n if (void 0 !== options.edgesLimit && edgeIndex + 1 > options.edgesLimit) return void setReplace(\"[...]\", val, k, parent);\n if (stack.push(val), Array.isArray(val)) for (i = 0; i < val.length; i++) decirc(val[i], i, i, stack, val, depth, options);else {\n var keys = Object.keys(val);\n for (i = 0; i < keys.length; i++) {\n var key = keys[i];\n decirc(val[key], key, i, stack, val, depth, options);\n }\n }\n stack.pop();\n }\n }(obj, \"\", 0, [], void 0, 0, options);\n try {\n res = 0 === replacerStack.length ? JSON.stringify(obj, replacer, spacer) : JSON.stringify(obj, replaceGetterValues(replacer), spacer);\n } catch (_) {\n return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\");\n } finally {\n for (; 0 !== arr.length;) {\n var part = arr.pop();\n 4 === part.length ? Object.defineProperty(part[0], part[1], part[3]) : part[0][part[1]] = part[2];\n }\n }\n return res;\n}\nfunction setReplace(replace, val, k, parent) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k);\n void 0 !== propertyDescriptor.get ? propertyDescriptor.configurable ? (Object.defineProperty(parent, k, {\n value: replace\n }), arr.push([parent, k, val, propertyDescriptor])) : replacerStack.push([val, k, replace]) : (parent[k] = replace, arr.push([parent, k, val]));\n}\nfunction compareFunction(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n}\nfunction deterministicStringify(obj, replacer, spacer, options) {\n void 0 === options && (options = defaultOptions());\n var res,\n tmp = function deterministicDecirc(val, k, edgeIndex, stack, parent, depth, options) {\n var i;\n if (depth += 1, \"object\" == typeof val && null !== val) {\n for (i = 0; i < stack.length; i++) if (stack[i] === val) return void setReplace(\"[Circular]\", val, k, parent);\n try {\n if (\"function\" == typeof val.toJSON) return;\n } catch (_) {\n return;\n }\n if (void 0 !== options.depthLimit && depth > options.depthLimit) return void setReplace(\"[...]\", val, k, parent);\n if (void 0 !== options.edgesLimit && edgeIndex + 1 > options.edgesLimit) return void setReplace(\"[...]\", val, k, parent);\n if (stack.push(val), Array.isArray(val)) for (i = 0; i < val.length; i++) deterministicDecirc(val[i], i, i, stack, val, depth, options);else {\n var tmp = {},\n keys = Object.keys(val).sort(compareFunction);\n for (i = 0; i < keys.length; i++) {\n var key = keys[i];\n deterministicDecirc(val[key], key, i, stack, val, depth, options), tmp[key] = val[key];\n }\n if (void 0 === parent) return tmp;\n arr.push([parent, k, val]), parent[k] = tmp;\n }\n stack.pop();\n }\n }(obj, \"\", 0, [], void 0, 0, options) || obj;\n try {\n res = 0 === replacerStack.length ? JSON.stringify(tmp, replacer, spacer) : JSON.stringify(tmp, replaceGetterValues(replacer), spacer);\n } catch (_) {\n return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\");\n } finally {\n for (; 0 !== arr.length;) {\n var part = arr.pop();\n 4 === part.length ? Object.defineProperty(part[0], part[1], part[3]) : part[0][part[1]] = part[2];\n }\n }\n return res;\n}\nfunction replaceGetterValues(replacer) {\n return replacer = void 0 !== replacer ? replacer : function (k, v) {\n return v;\n }, function (key, val) {\n if (replacerStack.length > 0) for (var i = 0; i < replacerStack.length; i++) {\n var part = replacerStack[i];\n if (part[1] === key && part[0] === val) {\n val = part[2], replacerStack.splice(i, 1);\n break;\n }\n }\n return replacer.call(this, key, val);\n };\n}\nvar utils$1 = createCommonjsModule(function (module, exports) {\n function _typeof(obj) {\n return (_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n })(obj);\n }\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = \"undefined\" != typeof Symbol && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = function (o, minLen) {\n if (!o) return;\n if (\"string\" == typeof o) return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n \"Object\" === n && o.constructor && (n = o.constructor.name);\n if (\"Map\" === n || \"Set\" === n) return Array.from(o);\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }(o)) || allowArrayLike && o && \"number\" == typeof o.length) {\n it && (o = it);\n var i = 0,\n F = function () {};\n return {\n s: F,\n n: function () {\n return i >= o.length ? {\n done: !0\n } : {\n done: !1,\n value: o[i++]\n };\n },\n e: function (_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var err,\n normalCompletion = !0,\n didErr = !1;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n return normalCompletion = step.done, step;\n },\n e: function (_e2) {\n didErr = !0, err = _e2;\n },\n f: function () {\n try {\n normalCompletion || null == it.return || it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n function _arrayLikeToArray(arr, len) {\n (null == len || len > arr.length) && (len = arr.length);\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n exports.type = function (string_) {\n return string_.split(/ *; */).shift();\n }, exports.params = function (value) {\n var _step,\n object = {},\n _iterator = _createForOfIteratorHelper(value.split(/ *; */));\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var parts = _step.value.split(/ *= */),\n key = parts.shift(),\n _value = parts.shift();\n key && _value && (object[key] = _value);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return object;\n }, exports.parseLinks = function (value) {\n var _step2,\n object = {},\n _iterator2 = _createForOfIteratorHelper(value.split(/ *, */));\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var parts = _step2.value.split(/ *; */),\n url = parts[0].slice(1, -1);\n object[parts[1].split(/ *= */)[1].slice(1, -1)] = url;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n return object;\n }, exports.cleanHeader = function (header, changesOrigin) {\n return delete header[\"content-type\"], delete header[\"content-length\"], delete header[\"transfer-encoding\"], delete header.host, changesOrigin && (delete header.authorization, delete header.cookie), header;\n }, exports.isObject = function (object) {\n return null !== object && \"object\" === _typeof(object);\n }, exports.hasOwn = Object.hasOwn || function (object, property) {\n if (null == object) throw new TypeError(\"Cannot convert undefined or null to object\");\n return Object.prototype.hasOwnProperty.call(new Object(object), property);\n }, exports.mixin = function (target, source) {\n for (var key in source) exports.hasOwn(source, key) && (target[key] = source[key]);\n };\n});\nutils$1.type, utils$1.params, utils$1.parseLinks, utils$1.cleanHeader, utils$1.isObject, utils$1.hasOwn, utils$1.mixin;\nfunction _typeof(obj) {\n return (_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n })(obj);\n}\nvar isObject = utils$1.isObject,\n hasOwn$1 = utils$1.hasOwn,\n requestBase = RequestBase;\nfunction RequestBase() {}\nRequestBase.prototype.clearTimeout = function () {\n return clearTimeout(this._timer), clearTimeout(this._responseTimeoutTimer), clearTimeout(this._uploadTimeoutTimer), delete this._timer, delete this._responseTimeoutTimer, delete this._uploadTimeoutTimer, this;\n}, RequestBase.prototype.parse = function (fn) {\n return this._parser = fn, this;\n}, RequestBase.prototype.responseType = function (value) {\n return this._responseType = value, this;\n}, RequestBase.prototype.serialize = function (fn) {\n return this._serializer = fn, this;\n}, RequestBase.prototype.timeout = function (options) {\n if (!options || \"object\" !== _typeof(options)) return this._timeout = options, this._responseTimeout = 0, this._uploadTimeout = 0, this;\n for (var option in options) if (hasOwn$1(options, option)) switch (option) {\n case \"deadline\":\n this._timeout = options.deadline;\n break;\n case \"response\":\n this._responseTimeout = options.response;\n break;\n case \"upload\":\n this._uploadTimeout = options.upload;\n break;\n default:\n console.warn(\"Unknown timeout option\", option);\n }\n return this;\n}, RequestBase.prototype.retry = function (count, fn) {\n return 0 !== arguments.length && !0 !== count || (count = 1), count <= 0 && (count = 0), this._maxRetries = count, this._retries = 0, this._retryCallback = fn, this;\n};\nvar ERROR_CODES = new Set([\"ETIMEDOUT\", \"ECONNRESET\", \"EADDRINUSE\", \"ECONNREFUSED\", \"EPIPE\", \"ENOTFOUND\", \"ENETUNREACH\", \"EAI_AGAIN\"]),\n STATUS_CODES = new Set([408, 413, 429, 500, 502, 503, 504, 521, 522, 524]);\nRequestBase.prototype._shouldRetry = function (error, res) {\n if (!this._maxRetries || this._retries++ >= this._maxRetries) return !1;\n if (this._retryCallback) try {\n var override = this._retryCallback(error, res);\n if (!0 === override) return !0;\n if (!1 === override) return !1;\n } catch (err) {\n console.error(err);\n }\n if (res && res.status && STATUS_CODES.has(res.status)) return !0;\n if (error) {\n if (error.code && ERROR_CODES.has(error.code)) return !0;\n if (error.timeout && \"ECONNABORTED\" === error.code) return !0;\n if (error.crossDomain) return !0;\n }\n return !1;\n}, RequestBase.prototype._retry = function () {\n return this.clearTimeout(), this.req && (this.req = null, this.req = this.request()), this._aborted = !1, this.timedout = !1, this.timedoutError = null, this._end();\n}, RequestBase.prototype.then = function (resolve, reject) {\n var _this = this;\n if (!this._fullfilledPromise) {\n var self = this;\n this._endCalled && console.warn(\"Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises\"), this._fullfilledPromise = new Promise(function (resolve, reject) {\n self.on(\"abort\", function () {\n if (!(_this._maxRetries && _this._maxRetries > _this._retries)) if (_this.timedout && _this.timedoutError) reject(_this.timedoutError);else {\n var error = new Error(\"Aborted\");\n error.code = \"ABORTED\", error.status = _this.status, error.method = _this.method, error.url = _this.url, reject(error);\n }\n }), self.end(function (error, res) {\n error ? reject(error) : resolve(res);\n });\n });\n }\n return this._fullfilledPromise.then(resolve, reject);\n}, RequestBase.prototype.catch = function (callback) {\n return this.then(void 0, callback);\n}, RequestBase.prototype.use = function (fn) {\n return fn(this), this;\n}, RequestBase.prototype.ok = function (callback) {\n if (\"function\" != typeof callback) throw new Error(\"Callback required\");\n return this._okCallback = callback, this;\n}, RequestBase.prototype._isResponseOK = function (res) {\n return !!res && (this._okCallback ? this._okCallback(res) : res.status >= 200 && res.status < 300);\n}, RequestBase.prototype.get = function (field) {\n return this._header[field.toLowerCase()];\n}, RequestBase.prototype.getHeader = RequestBase.prototype.get, RequestBase.prototype.set = function (field, value) {\n if (isObject(field)) {\n for (var key in field) hasOwn$1(field, key) && this.set(key, field[key]);\n return this;\n }\n return this._header[field.toLowerCase()] = value, this.header[field] = value, this;\n}, RequestBase.prototype.unset = function (field) {\n return delete this._header[field.toLowerCase()], delete this.header[field], this;\n}, RequestBase.prototype.field = function (name, value, options) {\n if (null == name) throw new Error(\".field(name, val) name can not be empty\");\n if (this._data) throw new Error(\".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()\");\n if (isObject(name)) {\n for (var key in name) hasOwn$1(name, key) && this.field(key, name[key]);\n return this;\n }\n if (Array.isArray(value)) {\n for (var i in value) hasOwn$1(value, i) && this.field(name, value[i]);\n return this;\n }\n if (null == value) throw new Error(\".field(name, val) val can not be empty\");\n return \"boolean\" == typeof value && (value = String(value)), options ? this._getFormData().append(name, value, options) : this._getFormData().append(name, value), this;\n}, RequestBase.prototype.abort = function () {\n if (this._aborted) return this;\n if (this._aborted = !0, this.xhr && this.xhr.abort(), this.req) {\n if (semver.gte(process.version, \"v13.0.0\") && semver.lt(process.version, \"v14.0.0\")) throw new Error(\"Superagent does not work in v13 properly with abort() due to Node.js core changes\");\n semver.gte(process.version, \"v14.0.0\") && (this.req.destroyed = !0), this.req.abort();\n }\n return this.clearTimeout(), this.emit(\"abort\"), this;\n}, RequestBase.prototype._auth = function (user, pass, options, base64Encoder) {\n switch (options.type) {\n case \"basic\":\n this.set(\"Authorization\", \"Basic \".concat(base64Encoder(\"\".concat(user, \":\").concat(pass))));\n break;\n case \"auto\":\n this.username = user, this.password = pass;\n break;\n case \"bearer\":\n this.set(\"Authorization\", \"Bearer \".concat(user));\n }\n return this;\n}, RequestBase.prototype.withCredentials = function (on) {\n return void 0 === on && (on = !0), this._withCredentials = on, this;\n}, RequestBase.prototype.redirects = function (n) {\n return this._maxRedirects = n, this;\n}, RequestBase.prototype.maxResponseSize = function (n) {\n if (\"number\" != typeof n) throw new TypeError(\"Invalid argument\");\n return this._maxResponseSize = n, this;\n}, RequestBase.prototype.toJSON = function () {\n return {\n method: this.method,\n url: this.url,\n data: this._data,\n headers: this._header\n };\n}, RequestBase.prototype.send = function (data) {\n var isObject_ = isObject(data),\n type = this._header[\"content-type\"];\n if (this._formData) throw new Error(\".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()\");\n if (isObject_ && !this._data) Array.isArray(data) ? this._data = [] : this._isHost(data) || (this._data = {});else if (data && this._data && this._isHost(this._data)) throw new Error(\"Can't merge these send calls\");\n if (isObject_ && isObject(this._data)) for (var key in data) hasOwn$1(data, key) && (this._data[key] = data[key]);else \"string\" == typeof data ? (type || this.type(\"form\"), (type = this._header[\"content-type\"]) && (type = type.toLowerCase().trim()), this._data = \"application/x-www-form-urlencoded\" === type ? this._data ? \"\".concat(this._data, \"&\").concat(data) : data : (this._data || \"\") + data) : this._data = data;\n return !isObject_ || this._isHost(data) || type || this.type(\"json\"), this;\n}, RequestBase.prototype.sortQuery = function (sort) {\n return this._sort = void 0 === sort || sort, this;\n}, RequestBase.prototype._finalizeQueryString = function () {\n var query = this._query.join(\"&\");\n if (query && (this.url += (this.url.includes(\"?\") ? \"&\" : \"?\") + query), this._query.length = 0, this._sort) {\n var index = this.url.indexOf(\"?\");\n if (index >= 0) {\n var queryArray = this.url.slice(index + 1).split(\"&\");\n \"function\" == typeof this._sort ? queryArray.sort(this._sort) : queryArray.sort(), this.url = this.url.slice(0, index) + \"?\" + queryArray.join(\"&\");\n }\n }\n}, RequestBase.prototype._appendQueryString = function () {\n console.warn(\"Unsupported\");\n}, RequestBase.prototype._timeoutError = function (reason, timeout, errno) {\n if (!this._aborted) {\n var error = new Error(\"\".concat(reason + timeout, \"ms exceeded\"));\n error.timeout = timeout, error.code = \"ECONNABORTED\", error.errno = errno, this.timedout = !0, this.timedoutError = error, this.abort(), this.callback(error);\n }\n}, RequestBase.prototype._setTimeouts = function () {\n var self = this;\n this._timeout && !this._timer && (this._timer = setTimeout(function () {\n self._timeoutError(\"Timeout of \", self._timeout, \"ETIME\");\n }, this._timeout)), this._responseTimeout && !this._responseTimeoutTimer && (this._responseTimeoutTimer = setTimeout(function () {\n self._timeoutError(\"Response timeout of \", self._responseTimeout, \"ETIMEDOUT\");\n }, this._responseTimeout));\n};\nvar responseBase = ResponseBase;\nfunction ResponseBase() {}\nfunction _toConsumableArray(arr) {\n return function (arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }(arr) || function (iter) {\n if (\"undefined\" != typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) return Array.from(iter);\n }(arr) || _unsupportedIterableToArray(arr) || function () {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }();\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (o) {\n if (\"string\" == typeof o) return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n return \"Object\" === n && o.constructor && (n = o.constructor.name), \"Map\" === n || \"Set\" === n ? Array.from(o) : \"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _arrayLikeToArray(o, minLen) : void 0;\n }\n}\nfunction _arrayLikeToArray(arr, len) {\n (null == len || len > arr.length) && (len = arr.length);\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction Agent() {\n this._defaults = [];\n}\nResponseBase.prototype.get = function (field) {\n return this.header[field.toLowerCase()];\n}, ResponseBase.prototype._setHeaderProperties = function (header) {\n var ct = header[\"content-type\"] || \"\";\n this.type = utils$1.type(ct);\n var parameters = utils$1.params(ct);\n for (var key in parameters) Object.prototype.hasOwnProperty.call(parameters, key) && (this[key] = parameters[key]);\n this.links = {};\n try {\n header.link && (this.links = utils$1.parseLinks(header.link));\n } catch (_unused) {}\n}, ResponseBase.prototype._setStatusProperties = function (status) {\n var type = Math.trunc(status / 100);\n this.statusCode = status, this.status = this.statusCode, this.statusType = type, this.info = 1 === type, this.ok = 2 === type, this.redirect = 3 === type, this.clientError = 4 === type, this.serverError = 5 === type, this.error = (4 === type || 5 === type) && this.toError(), this.created = 201 === status, this.accepted = 202 === status, this.noContent = 204 === status, this.badRequest = 400 === status, this.unauthorized = 401 === status, this.notAcceptable = 406 === status, this.forbidden = 403 === status, this.notFound = 404 === status, this.unprocessableEntity = 422 === status;\n};\nfor (var _loop = function () {\n var fn = _arr[_i];\n Agent.prototype[fn] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n return this._defaults.push({\n fn: fn,\n args: args\n }), this;\n };\n }, _i = 0, _arr = [\"use\", \"on\", \"once\", \"set\", \"query\", \"type\", \"accept\", \"auth\", \"withCredentials\", \"sortQuery\", \"retry\", \"ok\", \"redirects\", \"timeout\", \"buffer\", \"serialize\", \"parse\", \"ca\", \"key\", \"pfx\", \"cert\", \"disableTLSCerts\"]; _i < _arr.length; _i++) _loop();\nAgent.prototype._setDefaults = function (request) {\n var _step,\n _iterator = function (o, allowArrayLike) {\n var it = \"undefined\" != typeof Symbol && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && \"number\" == typeof o.length) {\n it && (o = it);\n var i = 0,\n F = function () {};\n return {\n s: F,\n n: function () {\n return i >= o.length ? {\n done: !0\n } : {\n done: !1,\n value: o[i++]\n };\n },\n e: function (_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var err,\n normalCompletion = !0,\n didErr = !1;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n return normalCompletion = step.done, step;\n },\n e: function (_e2) {\n didErr = !0, err = _e2;\n },\n f: function () {\n try {\n normalCompletion || null == it.return || it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }(this._defaults);\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var def = _step.value;\n request[def.fn].apply(request, _toConsumableArray(def.args));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n};\nfor (var agentBase = Agent, client = createCommonjsModule(function (module, exports) {\n function _typeof(obj) {\n return (_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n })(obj);\n }\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = \"undefined\" != typeof Symbol && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = function (o, minLen) {\n if (!o) return;\n if (\"string\" == typeof o) return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n \"Object\" === n && o.constructor && (n = o.constructor.name);\n if (\"Map\" === n || \"Set\" === n) return Array.from(o);\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }(o)) || allowArrayLike && o && \"number\" == typeof o.length) {\n it && (o = it);\n var i = 0,\n F = function () {};\n return {\n s: F,\n n: function () {\n return i >= o.length ? {\n done: !0\n } : {\n done: !1,\n value: o[i++]\n };\n },\n e: function (_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var err,\n normalCompletion = !0,\n didErr = !1;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n return normalCompletion = step.done, step;\n },\n e: function (_e2) {\n didErr = !0, err = _e2;\n },\n f: function () {\n try {\n normalCompletion || null == it.return || it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n function _arrayLikeToArray(arr, len) {\n (null == len || len > arr.length) && (len = arr.length);\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n var root;\n \"undefined\" != typeof window ? root = window : \"undefined\" == typeof self ? (console.warn(\"Using browser-only version of superagent in non-browser environment\"), root = void 0) : root = self;\n var isObject = utils$1.isObject,\n mixin = utils$1.mixin,\n hasOwn = utils$1.hasOwn;\n function noop() {}\n module.exports = function (method, url) {\n return \"function\" == typeof url ? new exports.Request(\"GET\", method).end(url) : 1 === arguments.length ? new exports.Request(\"GET\", method) : new exports.Request(method, url);\n };\n var request = exports = module.exports;\n exports.Request = Request, request.getXHR = function () {\n if (root.XMLHttpRequest && (!root.location || \"file:\" !== root.location.protocol || !root.ActiveXObject)) return new XMLHttpRequest();\n try {\n return new ActiveXObject(\"Microsoft.XMLHTTP\");\n } catch (_unused) {}\n try {\n return new ActiveXObject(\"Msxml2.XMLHTTP.6.0\");\n } catch (_unused2) {}\n try {\n return new ActiveXObject(\"Msxml2.XMLHTTP.3.0\");\n } catch (_unused3) {}\n try {\n return new ActiveXObject(\"Msxml2.XMLHTTP\");\n } catch (_unused4) {}\n throw new Error(\"Browser-only version of superagent could not find XHR\");\n };\n var trim = \"\".trim ? function (s) {\n return s.trim();\n } : function (s) {\n return s.replace(/(^\\s*|\\s*$)/g, \"\");\n };\n function serialize(object) {\n if (!isObject(object)) return object;\n var pairs = [];\n for (var key in object) hasOwn(object, key) && pushEncodedKeyValuePair(pairs, key, object[key]);\n return pairs.join(\"&\");\n }\n function pushEncodedKeyValuePair(pairs, key, value) {\n if (void 0 !== value) if (null !== value) {\n if (Array.isArray(value)) {\n var _step,\n _iterator = _createForOfIteratorHelper(value);\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n pushEncodedKeyValuePair(pairs, key, _step.value);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else if (isObject(value)) for (var subkey in value) hasOwn(value, subkey) && pushEncodedKeyValuePair(pairs, \"\".concat(key, \"[\").concat(subkey, \"]\"), value[subkey]);else pairs.push(encodeURI(key) + \"=\" + encodeURIComponent(value));\n } else pairs.push(encodeURI(key));\n }\n function parseString(string_) {\n for (var pair, pos, object = {}, pairs = string_.split(\"&\"), i = 0, length_ = pairs.length; i < length_; ++i) -1 === (pos = (pair = pairs[i]).indexOf(\"=\")) ? object[decodeURIComponent(pair)] = \"\" : object[decodeURIComponent(pair.slice(0, pos))] = decodeURIComponent(pair.slice(pos + 1));\n return object;\n }\n function isJSON(mime) {\n return /[/+]json($|[^-\\w])/i.test(mime);\n }\n function Response(request_) {\n this.req = request_, this.xhr = this.req.xhr, this.text = \"HEAD\" !== this.req.method && (\"\" === this.xhr.responseType || \"text\" === this.xhr.responseType) || void 0 === this.xhr.responseType ? this.xhr.responseText : null, this.statusText = this.req.xhr.statusText;\n var status = this.xhr.status;\n 1223 === status && (status = 204), this._setStatusProperties(status), this.headers = function (string_) {\n for (var index, line, field, value, lines = string_.split(/\\r?\\n/), fields = {}, i = 0, length_ = lines.length; i < length_; ++i) -1 !== (index = (line = lines[i]).indexOf(\":\")) && (field = line.slice(0, index).toLowerCase(), value = trim(line.slice(index + 1)), fields[field] = value);\n return fields;\n }(this.xhr.getAllResponseHeaders()), this.header = this.headers, this.header[\"content-type\"] = this.xhr.getResponseHeader(\"content-type\"), this._setHeaderProperties(this.header), null === this.text && request_._responseType ? this.body = this.xhr.response : this.body = \"HEAD\" === this.req.method ? null : this._parseBody(this.text ? this.text : this.xhr.response);\n }\n function Request(method, url) {\n var self = this;\n this._query = this._query || [], this.method = method, this.url = url, this.header = {}, this._header = {}, this.on(\"end\", function () {\n var new_error,\n error = null,\n res = null;\n try {\n res = new Response(self);\n } catch (err) {\n return (error = new Error(\"Parser is unable to parse the response\")).parse = !0, error.original = err, self.xhr ? (error.rawResponse = void 0 === self.xhr.responseType ? self.xhr.responseText : self.xhr.response, error.status = self.xhr.status ? self.xhr.status : null, error.statusCode = error.status) : (error.rawResponse = null, error.status = null), self.callback(error);\n }\n self.emit(\"response\", res);\n try {\n self._isResponseOK(res) || (new_error = new Error(res.statusText || res.text || \"Unsuccessful HTTP response\"));\n } catch (err) {\n new_error = err;\n }\n new_error ? (new_error.original = error, new_error.response = res, new_error.status = res.status, self.callback(new_error, res)) : self.callback(null, res);\n });\n }\n request.serializeObject = serialize, request.parseString = parseString, request.types = {\n html: \"text/html\",\n json: \"application/json\",\n xml: \"text/xml\",\n urlencoded: \"application/x-www-form-urlencoded\",\n form: \"application/x-www-form-urlencoded\",\n \"form-data\": \"application/x-www-form-urlencoded\"\n }, request.serialize = {\n \"application/x-www-form-urlencoded\": lib.stringify,\n \"application/json\": fastSafeStringify\n }, request.parse = {\n \"application/x-www-form-urlencoded\": parseString,\n \"application/json\": JSON.parse\n }, mixin(Response.prototype, responseBase.prototype), Response.prototype._parseBody = function (string_) {\n var parse = request.parse[this.type];\n return this.req._parser ? this.req._parser(this, string_) : (!parse && isJSON(this.type) && (parse = request.parse[\"application/json\"]), parse && string_ && (string_.length > 0 || string_ instanceof Object) ? parse(string_) : null);\n }, Response.prototype.toError = function () {\n var req = this.req,\n method = req.method,\n url = req.url,\n message = \"cannot \".concat(method, \" \").concat(url, \" (\").concat(this.status, \")\"),\n error = new Error(message);\n return error.status = this.status, error.method = method, error.url = url, error;\n }, request.Response = Response, componentEmitter(Request.prototype), mixin(Request.prototype, requestBase.prototype), Request.prototype.type = function (type) {\n return this.set(\"Content-Type\", request.types[type] || type), this;\n }, Request.prototype.accept = function (type) {\n return this.set(\"Accept\", request.types[type] || type), this;\n }, Request.prototype.auth = function (user, pass, options) {\n 1 === arguments.length && (pass = \"\"), \"object\" === _typeof(pass) && null !== pass && (options = pass, pass = \"\"), options || (options = {\n type: \"function\" == typeof btoa ? \"basic\" : \"auto\"\n });\n var encoder = options.encoder ? options.encoder : function (string) {\n if (\"function\" == typeof btoa) return btoa(string);\n throw new Error(\"Cannot use basic auth, btoa is not a function\");\n };\n return this._auth(user, pass, options, encoder);\n }, Request.prototype.query = function (value) {\n return \"string\" != typeof value && (value = serialize(value)), value && this._query.push(value), this;\n }, Request.prototype.attach = function (field, file, options) {\n if (file) {\n if (this._data) throw new Error(\"superagent can't mix .send() and .attach()\");\n this._getFormData().append(field, file, options || file.name);\n }\n return this;\n }, Request.prototype._getFormData = function () {\n return this._formData || (this._formData = new root.FormData()), this._formData;\n }, Request.prototype.callback = function (error, res) {\n if (this._shouldRetry(error, res)) return this._retry();\n var fn = this._callback;\n this.clearTimeout(), error && (this._maxRetries && (error.retries = this._retries - 1), this.emit(\"error\", error)), fn(error, res);\n }, Request.prototype.crossDomainError = function () {\n var error = new Error(\"Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.\");\n error.crossDomain = !0, error.status = this.status, error.method = this.method, error.url = this.url, this.callback(error);\n }, Request.prototype.agent = function () {\n return console.warn(\"This is not supported in browser version of superagent\"), this;\n }, Request.prototype.ca = Request.prototype.agent, Request.prototype.buffer = Request.prototype.ca, Request.prototype.write = function () {\n throw new Error(\"Streaming is not supported in browser version of superagent\");\n }, Request.prototype.pipe = Request.prototype.write, Request.prototype._isHost = function (object) {\n return object && \"object\" === _typeof(object) && !Array.isArray(object) && \"[object Object]\" !== Object.prototype.toString.call(object);\n }, Request.prototype.end = function (fn) {\n this._endCalled && console.warn(\"Warning: .end() was called twice. This is not supported in superagent\"), this._endCalled = !0, this._callback = fn || noop, this._finalizeQueryString(), this._end();\n }, Request.prototype._setUploadTimeout = function () {\n var self = this;\n this._uploadTimeout && !this._uploadTimeoutTimer && (this._uploadTimeoutTimer = setTimeout(function () {\n self._timeoutError(\"Upload timeout of \", self._uploadTimeout, \"ETIMEDOUT\");\n }, this._uploadTimeout));\n }, Request.prototype._end = function () {\n if (this._aborted) return this.callback(new Error(\"The request has been aborted even before .end() was called\"));\n var self = this;\n this.xhr = request.getXHR();\n var xhr = this.xhr,\n data = this._formData || this._data;\n this._setTimeouts(), xhr.addEventListener(\"readystatechange\", function () {\n var readyState = xhr.readyState;\n if (readyState >= 2 && self._responseTimeoutTimer && clearTimeout(self._responseTimeoutTimer), 4 === readyState) {\n var status;\n try {\n status = xhr.status;\n } catch (_unused5) {\n status = 0;\n }\n if (!status) {\n if (self.timedout || self._aborted) return;\n return self.crossDomainError();\n }\n self.emit(\"end\");\n }\n });\n var handleProgress = function (direction, e) {\n e.total > 0 && (e.percent = e.loaded / e.total * 100, 100 === e.percent && clearTimeout(self._uploadTimeoutTimer)), e.direction = direction, self.emit(\"progress\", e);\n };\n if (this.hasListeners(\"progress\")) try {\n xhr.addEventListener(\"progress\", handleProgress.bind(null, \"download\")), xhr.upload && xhr.upload.addEventListener(\"progress\", handleProgress.bind(null, \"upload\"));\n } catch (_unused6) {}\n xhr.upload && this._setUploadTimeout();\n try {\n this.username && this.password ? xhr.open(this.method, this.url, !0, this.username, this.password) : xhr.open(this.method, this.url, !0);\n } catch (err) {\n return this.callback(err);\n }\n if (this._withCredentials && (xhr.withCredentials = !0), !this._formData && \"GET\" !== this.method && \"HEAD\" !== this.method && \"string\" != typeof data && !this._isHost(data)) {\n var contentType = this._header[\"content-type\"],\n _serialize = this._serializer || request.serialize[contentType ? contentType.split(\";\")[0] : \"\"];\n !_serialize && isJSON(contentType) && (_serialize = request.serialize[\"application/json\"]), _serialize && (data = _serialize(data));\n }\n for (var field in this.header) null !== this.header[field] && hasOwn(this.header, field) && xhr.setRequestHeader(field, this.header[field]);\n this._responseType && (xhr.responseType = this._responseType), this.emit(\"request\", this), xhr.send(void 0 === data ? null : data);\n }, request.agent = function () {\n return new agentBase();\n };\n for (var _loop = function () {\n var method = _arr[_i];\n agentBase.prototype[method.toLowerCase()] = function (url, fn) {\n var request_ = new request.Request(method, url);\n return this._setDefaults(request_), fn && request_.end(fn), request_;\n };\n }, _i = 0, _arr = [\"GET\", \"POST\", \"OPTIONS\", \"PATCH\", \"PUT\", \"DELETE\"]; _i < _arr.length; _i++) _loop();\n function del(url, data, fn) {\n var request_ = request(\"DELETE\", url);\n return \"function\" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_;\n }\n agentBase.prototype.del = agentBase.prototype.delete, request.get = function (url, data, fn) {\n var request_ = request(\"GET\", url);\n return \"function\" == typeof data && (fn = data, data = null), data && request_.query(data), fn && request_.end(fn), request_;\n }, request.head = function (url, data, fn) {\n var request_ = request(\"HEAD\", url);\n return \"function\" == typeof data && (fn = data, data = null), data && request_.query(data), fn && request_.end(fn), request_;\n }, request.options = function (url, data, fn) {\n var request_ = request(\"OPTIONS\", url);\n return \"function\" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_;\n }, request.del = del, request.delete = del, request.patch = function (url, data, fn) {\n var request_ = request(\"PATCH\", url);\n return \"function\" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_;\n }, request.post = function (url, data, fn) {\n var request_ = request(\"POST\", url);\n return \"function\" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_;\n }, request.put = function (url, data, fn) {\n var request_ = request(\"PUT\", url);\n return \"function\" == typeof data && (fn = data, data = null), data && request_.send(data), fn && request_.end(fn), request_;\n };\n }), byteLength_1 = (client.Request, function (b64) {\n var lens = getLens(b64),\n validLen = lens[0],\n placeHoldersLen = lens[1];\n return 3 * (validLen + placeHoldersLen) / 4 - placeHoldersLen;\n }), toByteArray_1 = function (b64) {\n var tmp,\n i,\n lens = getLens(b64),\n validLen = lens[0],\n placeHoldersLen = lens[1],\n arr = new Arr(function (b64, validLen, placeHoldersLen) {\n return 3 * (validLen + placeHoldersLen) / 4 - placeHoldersLen;\n }(0, validLen, placeHoldersLen)),\n curByte = 0,\n len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n for (i = 0; i < len; i += 4) tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)], arr[curByte++] = tmp >> 16 & 255, arr[curByte++] = tmp >> 8 & 255, arr[curByte++] = 255 & tmp;\n 2 === placeHoldersLen && (tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4, arr[curByte++] = 255 & tmp);\n 1 === placeHoldersLen && (tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2, arr[curByte++] = tmp >> 8 & 255, arr[curByte++] = 255 & tmp);\n return arr;\n }, fromByteArray_1 = function (uint8) {\n for (var tmp, len = uint8.length, extraBytes = len % 3, parts = [], i = 0, len2 = len - extraBytes; i < len2; i += 16383) parts.push(encodeChunk(uint8, i, i + 16383 > len2 ? len2 : i + 16383));\n 1 === extraBytes ? (tmp = uint8[len - 1], parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + \"==\")) : 2 === extraBytes && (tmp = (uint8[len - 2] << 8) + uint8[len - 1], parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + \"=\"));\n return parts.join(\"\");\n }, lookup = [], revLookup = [], Arr = \"undefined\" != typeof Uint8Array ? Uint8Array : Array, code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", i = 0, len = code.length; i < len; ++i) lookup[i] = code[i], revLookup[code.charCodeAt(i)] = i;\nfunction getLens(b64) {\n var len = b64.length;\n if (len % 4 > 0) throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var validLen = b64.indexOf(\"=\");\n return -1 === validLen && (validLen = len), [validLen, validLen === len ? 0 : 4 - validLen % 4];\n}\nfunction encodeChunk(uint8, start, end) {\n for (var tmp, num, output = [], i = start; i < end; i += 3) tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (255 & uint8[i + 2]), output.push(lookup[(num = tmp) >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[63 & num]);\n return output.join(\"\");\n}\nrevLookup[\"-\".charCodeAt(0)] = 62, revLookup[\"_\".charCodeAt(0)] = 63;\nvar base64Js = {\n byteLength: byteLength_1,\n toByteArray: toByteArray_1,\n fromByteArray: fromByteArray_1\n};\nvar base64Url = {\n encode: function (str) {\n return base64Js.fromByteArray(function (str) {\n for (var arr = new Array(str.length), a = 0; a < str.length; a++) arr[a] = str.charCodeAt(a);\n return arr;\n }(str)).replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n },\n decode: function (str) {\n return str = function (str) {\n var mod = str.length % 4;\n return 0 === mod ? str : str + new Array(1 + (4 - mod)).join(\"=\");\n }(str).replace(/-/g, \"+\").replace(/_/g, \"/\"), function (array) {\n for (var result = \"\", i = 0; i < array.length; i++) result += String.fromCharCode(array[i]);\n return result;\n }(base64Js.toByteArray(str));\n }\n },\n version = {\n raw: \"9.22.1\"\n },\n toString = Object.prototype.toString;\nfunction attribute(o, attr, type, text) {\n if (type = \"array\" === type ? \"object\" : type, o && typeof o[attr] !== type) throw new Error(text);\n}\nfunction variable(o, type, text) {\n if (typeof o !== type) throw new Error(text);\n}\nfunction value(o, values, text) {\n if (-1 === values.indexOf(o)) throw new Error(text);\n}\nvar assert = {\n check: function (o, config, attributes) {\n if (config.optional && !o || variable(o, config.type, config.message), \"object\" === config.type && attributes) for (var keys = Object.keys(attributes), index = 0; index < keys.length; index++) {\n var a = keys[index];\n attributes[a].optional && !o[a] || attributes[a].condition && !attributes[a].condition(o) || (attribute(o, a, attributes[a].type, attributes[a].message), attributes[a].values && value(o[a], attributes[a].values, attributes[a].value_message));\n }\n },\n attribute: attribute,\n variable: variable,\n value: value,\n isArray: function (array) {\n return this.supportsIsArray() ? Array.isArray(array) : \"[object Array]\" === toString.call(array);\n },\n supportsIsArray: function () {\n return null != Array.isArray;\n }\n};\nfunction objectAssignPolyfill(target) {\n if (null == target) throw new TypeError(\"Cannot convert first argument to object\");\n for (var to = Object(target), i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (null != nextSource) for (var keysArray = Object.keys(Object(nextSource)), nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex],\n desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n void 0 !== desc && desc.enumerable && (to[nextKey] = nextSource[nextKey]);\n }\n }\n return to;\n}\nvar objectAssign = {\n get: function () {\n return Object.assign ? Object.assign : objectAssignPolyfill;\n },\n objectAssignPolyfill: objectAssignPolyfill\n};\nfunction pick(object, keys) {\n return keys.reduce(function (prev, key) {\n return object[key] && (prev[key] = object[key]), prev;\n }, {});\n}\nfunction objectValues(obj) {\n var values = [];\n for (var key in obj) values.push(obj[key]);\n return values;\n}\nfunction extend() {\n var params = objectValues(arguments);\n return params.unshift({}), objectAssign.get().apply(void 0, params);\n}\nfunction getLocationFromUrl(href) {\n var match = href.match(/^(https?:|file:|chrome-extension:)\\/\\/(([^:/?#]*)(?::([0-9]+))?)([/]{0,1}[^?#]*)(\\?[^#]*|)(#.*|)$/);\n return match && {\n href: href,\n protocol: match[1],\n host: match[2],\n hostname: match[3],\n port: match[4],\n pathname: match[5],\n search: match[6],\n hash: match[7]\n };\n}\nfunction trim(options, key) {\n var trimmed = extend(options);\n return options[key] && (trimmed[key] = options[key].trim()), trimmed;\n}\nvar objectHelper = {\n toSnakeCase: function toSnakeCase(object, exceptions) {\n return \"object\" != typeof object || assert.isArray(object) || null === object ? object : (exceptions = exceptions || [], Object.keys(object).reduce(function (p, key) {\n return p[-1 === exceptions.indexOf(key) ? function (str) {\n for (var code, newKey = \"\", index = 0, wasPrevNumber = !0, wasPrevUppercase = !0; index < str.length;) code = str.charCodeAt(index), !wasPrevUppercase && code >= 65 && code <= 90 || !wasPrevNumber && code >= 48 && code <= 57 ? (newKey += \"_\", newKey += str[index].toLowerCase()) : newKey += str[index].toLowerCase(), wasPrevNumber = code >= 48 && code <= 57, wasPrevUppercase = code >= 65 && code <= 90, index++;\n return newKey;\n }(key) : key] = toSnakeCase(object[key]), p;\n }, {}));\n },\n toCamelCase: function toCamelCase(object, exceptions, options) {\n return \"object\" != typeof object || assert.isArray(object) || null === object ? object : (exceptions = exceptions || [], options = options || {}, Object.keys(object).reduce(function (p, key) {\n var parts,\n newKey = -1 === exceptions.indexOf(key) ? (parts = key.split(\"_\")).reduce(function (p, c) {\n return p + c.charAt(0).toUpperCase() + c.slice(1);\n }, parts.shift()) : key;\n return p[newKey] = toCamelCase(object[newKey] || object[key], [], options), options.keepOriginal && (p[key] = toCamelCase(object[key], [], options)), p;\n }, {}));\n },\n blacklist: function (object, blacklistedKeys) {\n return Object.keys(object).reduce(function (p, key) {\n return -1 === blacklistedKeys.indexOf(key) && (p[key] = object[key]), p;\n }, {});\n },\n merge: function (object, keys) {\n return {\n base: keys ? pick(object, keys) : object,\n with: function (object2, keys2) {\n return object2 = keys2 ? pick(object2, keys2) : object2, extend(this.base, object2);\n }\n };\n },\n pick: pick,\n getKeysNotIn: function (obj, allowedKeys) {\n var notAllowed = [];\n for (var key in obj) -1 === allowedKeys.indexOf(key) && notAllowed.push(key);\n return notAllowed;\n },\n extend: extend,\n getOriginFromUrl: function (url) {\n if (url) {\n var parsed = getLocationFromUrl(url);\n if (!parsed) return null;\n var origin = parsed.protocol + \"//\" + parsed.hostname;\n return parsed.port && (origin += \":\" + parsed.port), origin;\n }\n },\n getLocationFromUrl: getLocationFromUrl,\n trimUserDetails: function (options) {\n return function (options, keys) {\n return keys.reduce(trim, options);\n }(options, [\"username\", \"email\", \"phoneNumber\"]);\n },\n updatePropertyOn: function updatePropertyOn(obj, path, value) {\n \"string\" == typeof path && (path = path.split(\".\"));\n var next = path[0];\n obj.hasOwnProperty(next) && (1 === path.length ? obj[next] = value : updatePropertyOn(obj[next], path.slice(1), value));\n }\n};\nfunction RequestWrapper(req) {\n this.request = req, this.method = req.method, this.url = req.url, this.body = req._data, this.headers = req._header;\n}\nfunction RequestObj(req) {\n this.request = req;\n}\nfunction RequestBuilder(options) {\n this._sendTelemetry = !1 !== options._sendTelemetry || options._sendTelemetry, this._telemetryInfo = options._telemetryInfo || null, this._timesToRetryFailedRequests = options._timesToRetryFailedRequests, this.headers = options.headers || {}, this._universalLoginPage = options.universalLoginPage;\n}\nfunction getWindow() {\n return window;\n}\nRequestWrapper.prototype.abort = function () {\n this.request.abort();\n}, RequestWrapper.prototype.getMethod = function () {\n return this.method;\n}, RequestWrapper.prototype.getBody = function () {\n return this.body;\n}, RequestWrapper.prototype.getUrl = function () {\n return this.url;\n}, RequestWrapper.prototype.getHeaders = function () {\n return this.headers;\n}, RequestObj.prototype.set = function (key, value) {\n return this.request = this.request.set(key, value), this;\n}, RequestObj.prototype.send = function (body) {\n return this.request = this.request.send(objectHelper.trimUserDetails(body)), this;\n}, RequestObj.prototype.withCredentials = function () {\n return this.request = this.request.withCredentials(), this;\n}, RequestObj.prototype.end = function (cb) {\n return this.request.end(cb), new RequestWrapper(this.request);\n}, RequestBuilder.prototype.setCommonConfiguration = function (ongoingRequest, options) {\n if (options = options || {}, this._timesToRetryFailedRequests > 0 && (ongoingRequest = ongoingRequest.retry(this._timesToRetryFailedRequests)), options.noHeaders) return ongoingRequest;\n var headers = this.headers;\n ongoingRequest = ongoingRequest.set(\"Content-Type\", \"application/json\"), options.xRequestLanguage && (ongoingRequest = ongoingRequest.set(\"X-Request-Language\", options.xRequestLanguage));\n for (var keys = Object.keys(this.headers), a = 0; a < keys.length; a++) ongoingRequest = ongoingRequest.set(keys[a], headers[keys[a]]);\n return this._sendTelemetry && (ongoingRequest = ongoingRequest.set(\"Auth0-Client\", this.getTelemetryData())), ongoingRequest;\n}, RequestBuilder.prototype.getTelemetryData = function () {\n var telemetryName = this._universalLoginPage ? \"auth0.js-ulp\" : \"auth0.js\",\n clientInfo = {\n name: telemetryName,\n version: version.raw\n };\n this._telemetryInfo && ((clientInfo = objectHelper.extend({}, this._telemetryInfo)).env = objectHelper.extend({}, this._telemetryInfo.env), clientInfo.env[telemetryName] = version.raw);\n var jsonClientInfo = JSON.stringify(clientInfo);\n return base64Url.encode(jsonClientInfo);\n}, RequestBuilder.prototype.get = function (url, options) {\n return new RequestObj(this.setCommonConfiguration(client.get(url), options));\n}, RequestBuilder.prototype.post = function (url, options) {\n return new RequestObj(this.setCommonConfiguration(client.post(url), options));\n}, RequestBuilder.prototype.patch = function (url, options) {\n return new RequestObj(this.setCommonConfiguration(client.patch(url), options));\n};\nvar windowHelper = {\n redirect: function (url) {\n getWindow().location = url;\n },\n getDocument: function () {\n return getWindow().document;\n },\n getWindow: getWindow,\n getOrigin: function () {\n var location = getWindow().location,\n origin = location.origin;\n return origin || (origin = objectHelper.getOriginFromUrl(location.href)), origin;\n }\n};\nfunction DummyStorage() {}\nDummyStorage.prototype.getItem = function () {\n return null;\n}, DummyStorage.prototype.removeItem = function () {}, DummyStorage.prototype.setItem = function () {};\nvar js_cookie = createCommonjsModule(function (module, exports) {\n var factory;\n factory = function () {\n function extend() {\n for (var i = 0, result = {}; i < arguments.length; i++) {\n var attributes = arguments[i];\n for (var key in attributes) result[key] = attributes[key];\n }\n return result;\n }\n function decode(s) {\n return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n }\n return function init(converter) {\n function api() {}\n function set(key, value, attributes) {\n if (\"undefined\" != typeof document) {\n \"number\" == typeof (attributes = extend({\n path: \"/\"\n }, api.defaults, attributes)).expires && (attributes.expires = new Date(1 * new Date() + 864e5 * attributes.expires)), attributes.expires = attributes.expires ? attributes.expires.toUTCString() : \"\";\n try {\n var result = JSON.stringify(value);\n /^[\\{\\[]/.test(result) && (value = result);\n } catch (e) {}\n value = converter.write ? converter.write(value, key) : encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), key = encodeURIComponent(String(key)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\\(\\)]/g, escape);\n var stringifiedAttributes = \"\";\n for (var attributeName in attributes) attributes[attributeName] && (stringifiedAttributes += \"; \" + attributeName, !0 !== attributes[attributeName] && (stringifiedAttributes += \"=\" + attributes[attributeName].split(\";\")[0]));\n return document.cookie = key + \"=\" + value + stringifiedAttributes;\n }\n }\n function get(key, json) {\n if (\"undefined\" != typeof document) {\n for (var jar = {}, cookies = document.cookie ? document.cookie.split(\"; \") : [], i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split(\"=\"),\n cookie = parts.slice(1).join(\"=\");\n json || '\"' !== cookie.charAt(0) || (cookie = cookie.slice(1, -1));\n try {\n var name = decode(parts[0]);\n if (cookie = (converter.read || converter)(cookie, name) || decode(cookie), json) try {\n cookie = JSON.parse(cookie);\n } catch (e) {}\n if (jar[name] = cookie, key === name) break;\n } catch (e) {}\n }\n return key ? jar[key] : jar;\n }\n }\n return api.set = set, api.get = function (key) {\n return get(key, !1);\n }, api.getJSON = function (key) {\n return get(key, !0);\n }, api.remove = function (key, attributes) {\n set(key, \"\", extend(attributes, {\n expires: -1\n }));\n }, api.defaults = {}, api.withConverter = init, api;\n }(function () {});\n }, module.exports = factory();\n});\nfunction buildCompatCookieKey(key) {\n return \"_\" + key + \"_compat\";\n}\nfunction CookieStorage(options) {\n this._options = options || {};\n}\nfunction Warn(options) {\n this.disableWarnings = options.disableWarnings;\n}\nfunction StorageHandler(options) {\n if (this.warn = new Warn({}), this.storage = new CookieStorage(options), !0 === options.__tryLocalStorageFirst) try {\n var localStorage = windowHelper.getWindow().localStorage;\n localStorage && (this.storage = localStorage);\n } catch (e) {\n this.warn.warning(e), this.warn.warning(\"Can't use localStorage. Using CookieStorage instead.\");\n }\n}\nfunction Storage(options) {\n this.handler = new StorageHandler(options);\n}\nfunction SSODataStorage(options) {\n this.storage = new Storage(options);\n}\nfunction buildResponse(error, description) {\n return {\n error: error,\n errorDescription: description\n };\n}\nCookieStorage.prototype.getItem = function (key) {\n return js_cookie.get(key) || js_cookie.get(buildCompatCookieKey(key));\n}, CookieStorage.prototype.removeItem = function (key) {\n var params = {};\n this._options.cookieDomain && (params.domain = this._options.cookieDomain), js_cookie.remove(key, params), js_cookie.remove(buildCompatCookieKey(key), params);\n}, CookieStorage.prototype.setItem = function (key, value, options) {\n var params = objectHelper.extend({\n expires: 1\n }, options);\n if (\"https:\" === windowHelper.getWindow().location.protocol && (params.secure = !0, params.sameSite = \"none\", this._options.legacySameSiteCookie)) {\n var legacyOptions = objectHelper.blacklist(params, [\"sameSite\"]);\n js_cookie.set(buildCompatCookieKey(key), value, legacyOptions);\n }\n this._options.cookieDomain && (params.domain = this._options.cookieDomain), js_cookie.set(key, value, params);\n}, Warn.prototype.warning = function (message) {\n this.disableWarnings || console.warn(message);\n}, StorageHandler.prototype.failover = function () {\n this.storage instanceof DummyStorage ? this.warn.warning(\"DummyStorage: ignore failover\") : this.storage instanceof CookieStorage ? (this.warn.warning(\"CookieStorage: failing over DummyStorage\"), this.storage = new DummyStorage()) : (this.warn.warning(\"LocalStorage: failing over CookieStorage\"), this.storage = new CookieStorage());\n}, StorageHandler.prototype.getItem = function (key) {\n try {\n return this.storage.getItem(key);\n } catch (e) {\n return this.warn.warning(e), this.failover(), this.getItem(key);\n }\n}, StorageHandler.prototype.removeItem = function (key) {\n try {\n return this.storage.removeItem(key);\n } catch (e) {\n return this.warn.warning(e), this.failover(), this.removeItem(key);\n }\n}, StorageHandler.prototype.setItem = function (key, value, options) {\n try {\n return this.storage.setItem(key, value, options);\n } catch (e) {\n return this.warn.warning(e), this.failover(), this.setItem(key, value, options);\n }\n}, Storage.prototype.getItem = function (key) {\n var value = this.handler.getItem(key);\n try {\n return JSON.parse(value);\n } catch (_) {\n return value;\n }\n}, Storage.prototype.removeItem = function (key) {\n return this.handler.removeItem(key);\n}, Storage.prototype.setItem = function (key, value, options) {\n var json = JSON.stringify(value);\n return this.handler.setItem(key, json, options);\n}, SSODataStorage.prototype.set = function (connection, sub) {\n var ssodata = {\n lastUsedConnection: connection,\n lastUsedSub: sub\n };\n this.storage.setItem(\"auth0.ssodata\", JSON.stringify(ssodata));\n}, SSODataStorage.prototype.get = function () {\n var ssodata = this.storage.getItem(\"auth0.ssodata\");\n if (ssodata) return JSON.parse(ssodata);\n};\nvar error = {\n buildResponse: buildResponse,\n invalidToken: function (description) {\n return buildResponse(\"invalid_token\", description);\n }\n};\nfunction wrapCallback(cb, options) {\n return (options = options || {}).ignoreCasing = !!options.ignoreCasing && options.ignoreCasing, function (err, data) {\n var errObj;\n return err || data ? (!err && data.err && (err = data.err, data = null), !err && data.error && (err = data, data = null), err ? (errObj = {\n original: err\n }, objectHelper.updatePropertyOn(errObj, \"original.response.req._data.password\", \"*****\"), err.response && err.response.statusCode && (errObj.statusCode = err.response.statusCode), err.response && err.response.statusText && (errObj.statusText = err.response.statusText), err.response && err.response.body && (err = err.response.body), err.err && (err = err.err), errObj.code = err.code || err.error || err.error_code || err.status || null, errObj.description = err.errorDescription || err.error_description || err.description || err.error || err.details || err.err || null, options.forceLegacyError && (errObj.error = errObj.code, errObj.error_description = errObj.description), err.error_codes && err.error_details && (errObj.errorDetails = {\n codes: err.error_codes,\n details: err.error_details\n }), err.name && (errObj.name = err.name), err.policy && (errObj.policy = err.policy), cb(errObj)) : !data.type || \"text/html\" !== data.type && \"text/plain\" !== data.type ? options.ignoreCasing ? cb(null, data.body || data) : cb(null, objectHelper.toCamelCase(data.body || data, [], {\n keepOriginal: options.keepOriginalCasing\n })) : cb(null, data.text)) : cb(error.buildResponse(\"generic_error\", \"Something went wrong\"));\n };\n}\nvar tokenParams = [\"realm\", \"audience\", \"otp\", \"client_id\", \"client_secret\", \"redirect_uri\", \"scope\", \"code\", \"grant_type\", \"username\", \"password\", \"refresh_token\", \"assertion\", \"client_assertion\", \"client_assertion_type\", \"code_verifier\"],\n authorizeParams = [\"connection\", \"connection_scope\", \"auth0Client\", \"owp\", \"device\", \"realm\", \"organization\", \"invitation\", \"protocol\", \"_csrf\", \"_intstate\", \"login_ticket\", \"client_id\", \"response_type\", \"response_mode\", \"redirect_uri\", \"audience\", \"scope\", \"state\", \"nonce\", \"display\", \"prompt\", \"screen_hint\", \"max_age\", \"ui_locales\", \"claims_locales\", \"id_token_hint\", \"login_hint\", \"acr_values\", \"claims\", \"registration\", \"request\", \"request_uri\", \"code_challenge\", \"code_challenge_method\", \"access_type\", \"display\"];\nvar parametersWhitelist = {\n oauthTokenParams: function (warn, params) {\n return objectHelper.pick(params, tokenParams);\n },\n oauthAuthorizeParams: function (warn, params) {\n var notAllowed = objectHelper.getKeysNotIn(params, authorizeParams);\n return notAllowed.length > 0 && warn.warning(\"Following parameters are not allowed on the `/authorize` endpoint: [\" + notAllowed.join(\",\") + \"]\"), params;\n }\n },\n t = \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : {};\nfunction e(t) {\n var e = {\n exports: {}\n };\n return t(e, e.exports), e.exports;\n}\nvar r = e(function (e, r) {\n e.exports = function () {\n function e(t) {\n return \"function\" == typeof t;\n }\n var r = Array.isArray ? Array.isArray : function (t) {\n return \"[object Array]\" === Object.prototype.toString.call(t);\n },\n i = 0,\n n = void 0,\n o = void 0,\n s = function (t, e) {\n l[i] = t, l[i + 1] = e, 2 === (i += 2) && (o ? o(d) : w());\n },\n h = \"undefined\" != typeof window ? window : void 0,\n u = h || {},\n a = u.MutationObserver || u.WebKitMutationObserver,\n f = \"undefined\" == typeof self && \"undefined\" != typeof process && \"[object process]\" === {}.toString.call(process),\n c = \"undefined\" != typeof Uint8ClampedArray && \"undefined\" != typeof importScripts && \"undefined\" != typeof MessageChannel;\n function p() {\n var t = setTimeout;\n return function () {\n return t(d, 1);\n };\n }\n var l = new Array(1e3);\n function d() {\n for (var t = 0; t < i; t += 2) (0, l[t])(l[t + 1]), l[t] = void 0, l[t + 1] = void 0;\n i = 0;\n }\n var m,\n v,\n y,\n g,\n w = void 0;\n function T(t, e) {\n var r = this,\n i = new this.constructor(S);\n void 0 === i[_] && O(i);\n var n = r._state;\n if (n) {\n var o = arguments[n - 1];\n s(function () {\n return C(n, i, o, r._result);\n });\n } else I(r, i, t, e);\n return i;\n }\n function b(t) {\n if (t && \"object\" == typeof t && t.constructor === this) return t;\n var e = new this(S);\n return B(e, t), e;\n }\n w = f ? function () {\n return process.nextTick(d);\n } : a ? (v = 0, y = new a(d), g = document.createTextNode(\"\"), y.observe(g, {\n characterData: !0\n }), function () {\n g.data = v = ++v % 2;\n }) : c ? ((m = new MessageChannel()).port1.onmessage = d, function () {\n return m.port2.postMessage(0);\n }) : void 0 === h ? function () {\n try {\n var t = Function(\"return this\")().require(\"vertx\");\n return void 0 !== (n = t.runOnLoop || t.runOnContext) ? function () {\n n(d);\n } : p();\n } catch (t) {\n return p();\n }\n }() : p();\n var _ = Math.random().toString(36).substring(2);\n function S() {}\n var A = void 0;\n function D(t, r, i) {\n r.constructor === t.constructor && i === T && r.constructor.resolve === b ? function (t, e) {\n 1 === e._state ? E(t, e._result) : 2 === e._state ? k(t, e._result) : I(e, void 0, function (e) {\n return B(t, e);\n }, function (e) {\n return k(t, e);\n });\n }(t, r) : void 0 === i ? E(t, r) : e(i) ? function (t, e, r) {\n s(function (t) {\n var i = !1,\n n = function (r, n, o, s) {\n try {\n r.call(n, function (r) {\n i || (i = !0, e !== r ? B(t, r) : E(t, r));\n }, function (e) {\n i || (i = !0, k(t, e));\n });\n } catch (t) {\n return t;\n }\n }(r, e);\n !i && n && (i = !0, k(t, n));\n }, t);\n }(t, r, i) : E(t, r);\n }\n function B(t, e) {\n if (t === e) k(t, new TypeError(\"You cannot resolve a promise with itself\"));else if (n = typeof (i = e), null === i || \"object\" !== n && \"function\" !== n) E(t, e);else {\n var r = void 0;\n try {\n r = e.then;\n } catch (e) {\n return void k(t, e);\n }\n D(t, e, r);\n }\n var i, n;\n }\n function x(t) {\n t._onerror && t._onerror(t._result), M(t);\n }\n function E(t, e) {\n t._state === A && (t._result = e, t._state = 1, 0 !== t._subscribers.length && s(M, t));\n }\n function k(t, e) {\n t._state === A && (t._state = 2, t._result = e, s(x, t));\n }\n function I(t, e, r, i) {\n var n = t._subscribers,\n o = n.length;\n t._onerror = null, n[o] = e, n[o + 1] = r, n[o + 2] = i, 0 === o && t._state && s(M, t);\n }\n function M(t) {\n var e = t._subscribers,\n r = t._state;\n if (0 !== e.length) {\n for (var i = void 0, n = void 0, o = t._result, s = 0; s < e.length; s += 3) n = e[s + r], (i = e[s]) ? C(r, i, n, o) : n(o);\n t._subscribers.length = 0;\n }\n }\n function C(t, r, i, n) {\n var o = e(i),\n s = void 0,\n h = void 0,\n u = !0;\n if (o) {\n try {\n s = i(n);\n } catch (t) {\n u = !1, h = t;\n }\n if (r === s) return void k(r, new TypeError(\"A promises callback cannot return that same promise.\"));\n } else s = n;\n r._state !== A || (o && u ? B(r, s) : !1 === u ? k(r, h) : 1 === t ? E(r, s) : 2 === t && k(r, s));\n }\n var R = 0;\n function O(t) {\n t[_] = R++, t._state = void 0, t._result = void 0, t._subscribers = [];\n }\n var j = function () {\n function t(t, e) {\n this._instanceConstructor = t, this.promise = new t(S), this.promise[_] || O(this.promise), r(e) ? (this.length = e.length, this._remaining = e.length, this._result = new Array(this.length), 0 === this.length ? E(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(e), 0 === this._remaining && E(this.promise, this._result))) : k(this.promise, new Error(\"Array Methods must be provided an Array\"));\n }\n return t.prototype._enumerate = function (t) {\n for (var e = 0; this._state === A && e < t.length; e++) this._eachEntry(t[e], e);\n }, t.prototype._eachEntry = function (t, e) {\n var r = this._instanceConstructor,\n i = r.resolve;\n if (i === b) {\n var n = void 0,\n o = void 0,\n s = !1;\n try {\n n = t.then;\n } catch (t) {\n s = !0, o = t;\n }\n if (n === T && t._state !== A) this._settledAt(t._state, e, t._result);else if (\"function\" != typeof n) this._remaining--, this._result[e] = t;else if (r === N) {\n var h = new r(S);\n s ? k(h, o) : D(h, t, n), this._willSettleAt(h, e);\n } else this._willSettleAt(new r(function (e) {\n return e(t);\n }), e);\n } else this._willSettleAt(i(t), e);\n }, t.prototype._settledAt = function (t, e, r) {\n var i = this.promise;\n i._state === A && (this._remaining--, 2 === t ? k(i, r) : this._result[e] = r), 0 === this._remaining && E(i, this._result);\n }, t.prototype._willSettleAt = function (t, e) {\n var r = this;\n I(t, void 0, function (t) {\n return r._settledAt(1, e, t);\n }, function (t) {\n return r._settledAt(2, e, t);\n });\n }, t;\n }(),\n N = function () {\n function t(e) {\n this[_] = R++, this._result = this._state = void 0, this._subscribers = [], S !== e && (\"function\" != typeof e && function () {\n throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\");\n }(), this instanceof t ? function (t, e) {\n try {\n e(function (e) {\n B(t, e);\n }, function (e) {\n k(t, e);\n });\n } catch (e) {\n k(t, e);\n }\n }(this, e) : function () {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n }());\n }\n return t.prototype.catch = function (t) {\n return this.then(null, t);\n }, t.prototype.finally = function (t) {\n var r = this,\n i = r.constructor;\n return e(t) ? r.then(function (e) {\n return i.resolve(t()).then(function () {\n return e;\n });\n }, function (e) {\n return i.resolve(t()).then(function () {\n throw e;\n });\n }) : r.then(t, t);\n }, t;\n }();\n return N.prototype.then = T, N.all = function (t) {\n return new j(this, t).promise;\n }, N.race = function (t) {\n var e = this;\n return r(t) ? new e(function (r, i) {\n for (var n = t.length, o = 0; o < n; o++) e.resolve(t[o]).then(r, i);\n }) : new e(function (t, e) {\n return e(new TypeError(\"You must pass an array to race.\"));\n });\n }, N.resolve = b, N.reject = function (t) {\n var e = new this(S);\n return k(e, t), e;\n }, N._setScheduler = function (t) {\n o = t;\n }, N._setAsap = function (t) {\n s = t;\n }, N._asap = s, N.polyfill = function () {\n var e = void 0;\n if (void 0 !== t) e = t;else if (\"undefined\" != typeof self) e = self;else try {\n e = Function(\"return this\")();\n } catch (t) {\n throw new Error(\"polyfill failed because global object is unavailable in this environment\");\n }\n var r = e.Promise;\n if (r) {\n var i = null;\n try {\n i = Object.prototype.toString.call(r.resolve());\n } catch (t) {}\n if (\"[object Promise]\" === i && !r.cast) return;\n }\n e.Promise = N;\n }, N.Promise = N, N;\n }();\n }),\n i$1 = {\n __proto__: null,\n default: {}\n },\n n = e(function (e, r) {\n var n;\n e.exports = n = n || function (e, r) {\n var n;\n if (\"undefined\" != typeof window && window.crypto && (n = window.crypto), \"undefined\" != typeof self && self.crypto && (n = self.crypto), \"undefined\" != typeof globalThis && globalThis.crypto && (n = globalThis.crypto), !n && \"undefined\" != typeof window && window.msCrypto && (n = window.msCrypto), !n && void 0 !== t && t.crypto && (n = t.crypto), !n) try {\n n = i$1;\n } catch (t) {}\n var o = function () {\n if (n) {\n if (\"function\" == typeof n.getRandomValues) try {\n return n.getRandomValues(new Uint32Array(1))[0];\n } catch (t) {}\n if (\"function\" == typeof n.randomBytes) try {\n return n.randomBytes(4).readInt32LE();\n } catch (t) {}\n }\n throw new Error(\"Native crypto module could not be used to get secure random number.\");\n },\n s = Object.create || function () {\n function t() {}\n return function (e) {\n var r;\n return t.prototype = e, r = new t(), t.prototype = null, r;\n };\n }(),\n h = {},\n u = h.lib = {},\n a = u.Base = {\n extend: function (t) {\n var e = s(this);\n return t && e.mixIn(t), e.hasOwnProperty(\"init\") && this.init !== e.init || (e.init = function () {\n e.$super.init.apply(this, arguments);\n }), e.init.prototype = e, e.$super = this, e;\n },\n create: function () {\n var t = this.extend();\n return t.init.apply(t, arguments), t;\n },\n init: function () {},\n mixIn: function (t) {\n for (var e in t) t.hasOwnProperty(e) && (this[e] = t[e]);\n t.hasOwnProperty(\"toString\") && (this.toString = t.toString);\n },\n clone: function () {\n return this.init.prototype.extend(this);\n }\n },\n f = u.WordArray = a.extend({\n init: function (t, e) {\n t = this.words = t || [], this.sigBytes = null != e ? e : 4 * t.length;\n },\n toString: function (t) {\n return (t || p).stringify(this);\n },\n concat: function (t) {\n var e = this.words,\n r = t.words,\n i = this.sigBytes,\n n = t.sigBytes;\n if (this.clamp(), i % 4) for (var o = 0; o < n; o++) e[i + o >>> 2] |= (r[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 24 - (i + o) % 4 * 8;else for (var s = 0; s < n; s += 4) e[i + s >>> 2] = r[s >>> 2];\n return this.sigBytes += n, this;\n },\n clamp: function () {\n var t = this.words,\n r = this.sigBytes;\n t[r >>> 2] &= 4294967295 << 32 - r % 4 * 8, t.length = e.ceil(r / 4);\n },\n clone: function () {\n var t = a.clone.call(this);\n return t.words = this.words.slice(0), t;\n },\n random: function (t) {\n for (var e = [], r = 0; r < t; r += 4) e.push(o());\n return new f.init(e, t);\n }\n }),\n c = h.enc = {},\n p = c.Hex = {\n stringify: function (t) {\n for (var e = t.words, r = t.sigBytes, i = [], n = 0; n < r; n++) {\n var o = e[n >>> 2] >>> 24 - n % 4 * 8 & 255;\n i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16));\n }\n return i.join(\"\");\n },\n parse: function (t) {\n for (var e = t.length, r = [], i = 0; i < e; i += 2) r[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4;\n return new f.init(r, e / 2);\n }\n },\n l = c.Latin1 = {\n stringify: function (t) {\n for (var e = t.words, r = t.sigBytes, i = [], n = 0; n < r; n++) i.push(String.fromCharCode(e[n >>> 2] >>> 24 - n % 4 * 8 & 255));\n return i.join(\"\");\n },\n parse: function (t) {\n for (var e = t.length, r = [], i = 0; i < e; i++) r[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8;\n return new f.init(r, e);\n }\n },\n d = c.Utf8 = {\n stringify: function (t) {\n try {\n return decodeURIComponent(escape(l.stringify(t)));\n } catch (t) {\n throw new Error(\"Malformed UTF-8 data\");\n }\n },\n parse: function (t) {\n return l.parse(unescape(encodeURIComponent(t)));\n }\n },\n m = u.BufferedBlockAlgorithm = a.extend({\n reset: function () {\n this._data = new f.init(), this._nDataBytes = 0;\n },\n _append: function (t) {\n \"string\" == typeof t && (t = d.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes;\n },\n _process: function (t) {\n var r,\n i = this._data,\n n = i.words,\n o = i.sigBytes,\n s = this.blockSize,\n h = o / (4 * s),\n u = (h = t ? e.ceil(h) : e.max((0 | h) - this._minBufferSize, 0)) * s,\n a = e.min(4 * u, o);\n if (u) {\n for (var c = 0; c < u; c += s) this._doProcessBlock(n, c);\n r = n.splice(0, u), i.sigBytes -= a;\n }\n return new f.init(r, a);\n },\n clone: function () {\n var t = a.clone.call(this);\n return t._data = this._data.clone(), t;\n },\n _minBufferSize: 0\n });\n u.Hasher = m.extend({\n cfg: a.extend(),\n init: function (t) {\n this.cfg = this.cfg.extend(t), this.reset();\n },\n reset: function () {\n m.reset.call(this), this._doReset();\n },\n update: function (t) {\n return this._append(t), this._process(), this;\n },\n finalize: function (t) {\n return t && this._append(t), this._doFinalize();\n },\n blockSize: 16,\n _createHelper: function (t) {\n return function (e, r) {\n return new t.init(r).finalize(e);\n };\n },\n _createHmacHelper: function (t) {\n return function (e, r) {\n return new v.HMAC.init(t, r).finalize(e);\n };\n }\n });\n var v = h.algo = {};\n return h;\n }(Math);\n }),\n o = e(function (t, e) {\n var r;\n t.exports = (r = n, function (t) {\n var e = r,\n i = e.lib,\n n = i.WordArray,\n o = i.Hasher,\n s = e.algo,\n h = [],\n u = [];\n !function () {\n function e(e) {\n for (var r = t.sqrt(e), i = 2; i <= r; i++) if (!(e % i)) return !1;\n return !0;\n }\n function r(t) {\n return 4294967296 * (t - (0 | t)) | 0;\n }\n for (var i = 2, n = 0; n < 64;) e(i) && (n < 8 && (h[n] = r(t.pow(i, .5))), u[n] = r(t.pow(i, 1 / 3)), n++), i++;\n }();\n var a = [],\n f = s.SHA256 = o.extend({\n _doReset: function () {\n this._hash = new n.init(h.slice(0));\n },\n _doProcessBlock: function (t, e) {\n for (var r = this._hash.words, i = r[0], n = r[1], o = r[2], s = r[3], h = r[4], f = r[5], c = r[6], p = r[7], l = 0; l < 64; l++) {\n if (l < 16) a[l] = 0 | t[e + l];else {\n var d = a[l - 15],\n m = a[l - 2];\n a[l] = ((d << 25 | d >>> 7) ^ (d << 14 | d >>> 18) ^ d >>> 3) + a[l - 7] + ((m << 15 | m >>> 17) ^ (m << 13 | m >>> 19) ^ m >>> 10) + a[l - 16];\n }\n var v = i & n ^ i & o ^ n & o,\n y = p + ((h << 26 | h >>> 6) ^ (h << 21 | h >>> 11) ^ (h << 7 | h >>> 25)) + (h & f ^ ~h & c) + u[l] + a[l];\n p = c, c = f, f = h, h = s + y | 0, s = o, o = n, n = i, i = y + (((i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22)) + v) | 0;\n }\n r[0] = r[0] + i | 0, r[1] = r[1] + n | 0, r[2] = r[2] + o | 0, r[3] = r[3] + s | 0, r[4] = r[4] + h | 0, r[5] = r[5] + f | 0, r[6] = r[6] + c | 0, r[7] = r[7] + p | 0;\n },\n _doFinalize: function () {\n var e = this._data,\n r = e.words,\n i = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n return r[n >>> 5] |= 128 << 24 - n % 32, r[14 + (n + 64 >>> 9 << 4)] = t.floor(i / 4294967296), r[15 + (n + 64 >>> 9 << 4)] = i, e.sigBytes = 4 * r.length, this._process(), this._hash;\n },\n clone: function () {\n var t = o.clone.call(this);\n return t._hash = this._hash.clone(), t;\n }\n });\n e.SHA256 = o._createHelper(f), e.HmacSHA256 = o._createHmacHelper(f);\n }(Math), r.SHA256);\n }),\n s = e(function (t, e) {\n var r, i;\n t.exports = (i = (r = n).lib.WordArray, r.enc.Base64 = {\n stringify: function (t) {\n var e = t.words,\n r = t.sigBytes,\n i = this._map;\n t.clamp();\n for (var n = [], o = 0; o < r; o += 3) for (var s = (e[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (e[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | e[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = 0; h < 4 && o + .75 * h < r; h++) n.push(i.charAt(s >>> 6 * (3 - h) & 63));\n var u = i.charAt(64);\n if (u) for (; n.length % 4;) n.push(u);\n return n.join(\"\");\n },\n parse: function (t) {\n var e = t.length,\n r = this._map,\n n = this._reverseMap;\n if (!n) {\n n = this._reverseMap = [];\n for (var o = 0; o < r.length; o++) n[r.charCodeAt(o)] = o;\n }\n var s = r.charAt(64);\n if (s) {\n var h = t.indexOf(s);\n -1 !== h && (e = h);\n }\n return function (t, e, r) {\n for (var n = [], o = 0, s = 0; s < e; s++) if (s % 4) {\n var h = r[t.charCodeAt(s - 1)] << s % 4 * 2,\n u = r[t.charCodeAt(s)] >>> 6 - s % 4 * 2;\n n[o >>> 2] |= (h | u) << 24 - o % 4 * 8, o++;\n }\n return i.create(n, o);\n }(t, e, n);\n },\n _map: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"\n }, r.enc.Base64);\n }),\n h = e(function (t, e) {\n t.exports = n.enc.Hex;\n }),\n u = e(function (e, r) {\n (function () {\n var t;\n function r(t, e, r) {\n null != t && (\"number\" == typeof t ? this.fromNumber(t, e, r) : this.fromString(t, null == e && \"string\" != typeof t ? 256 : e));\n }\n function i() {\n return new r(null);\n }\n var n = \"undefined\" != typeof navigator;\n n && \"Microsoft Internet Explorer\" == navigator.appName ? (r.prototype.am = function (t, e, r, i, n, o) {\n for (var s = 32767 & e, h = e >> 15; --o >= 0;) {\n var u = 32767 & this[t],\n a = this[t++] >> 15,\n f = h * u + a * s;\n n = ((u = s * u + ((32767 & f) << 15) + r[i] + (1073741823 & n)) >>> 30) + (f >>> 15) + h * a + (n >>> 30), r[i++] = 1073741823 & u;\n }\n return n;\n }, t = 30) : n && \"Netscape\" != navigator.appName ? (r.prototype.am = function (t, e, r, i, n, o) {\n for (; --o >= 0;) {\n var s = e * this[t++] + r[i] + n;\n n = Math.floor(s / 67108864), r[i++] = 67108863 & s;\n }\n return n;\n }, t = 26) : (r.prototype.am = function (t, e, r, i, n, o) {\n for (var s = 16383 & e, h = e >> 14; --o >= 0;) {\n var u = 16383 & this[t],\n a = this[t++] >> 14,\n f = h * u + a * s;\n n = ((u = s * u + ((16383 & f) << 14) + r[i] + n) >> 28) + (f >> 14) + h * a, r[i++] = 268435455 & u;\n }\n return n;\n }, t = 28), r.prototype.DB = t, r.prototype.DM = (1 << t) - 1, r.prototype.DV = 1 << t, r.prototype.FV = Math.pow(2, 52), r.prototype.F1 = 52 - t, r.prototype.F2 = 2 * t - 52;\n var o,\n s,\n h = new Array();\n for (o = \"0\".charCodeAt(0), s = 0; s <= 9; ++s) h[o++] = s;\n for (o = \"a\".charCodeAt(0), s = 10; s < 36; ++s) h[o++] = s;\n for (o = \"A\".charCodeAt(0), s = 10; s < 36; ++s) h[o++] = s;\n function u(t) {\n return \"0123456789abcdefghijklmnopqrstuvwxyz\".charAt(t);\n }\n function a(t, e) {\n var r = h[t.charCodeAt(e)];\n return null == r ? -1 : r;\n }\n function f(t) {\n var e = i();\n return e.fromInt(t), e;\n }\n function c(t) {\n var e,\n r = 1;\n return 0 != (e = t >>> 16) && (t = e, r += 16), 0 != (e = t >> 8) && (t = e, r += 8), 0 != (e = t >> 4) && (t = e, r += 4), 0 != (e = t >> 2) && (t = e, r += 2), 0 != (e = t >> 1) && (t = e, r += 1), r;\n }\n function p(t) {\n this.m = t;\n }\n function l(t) {\n this.m = t, this.mp = t.invDigit(), this.mpl = 32767 & this.mp, this.mph = this.mp >> 15, this.um = (1 << t.DB - 15) - 1, this.mt2 = 2 * t.t;\n }\n function d(t, e) {\n return t & e;\n }\n function m(t, e) {\n return t | e;\n }\n function v(t, e) {\n return t ^ e;\n }\n function y(t, e) {\n return t & ~e;\n }\n function g(t) {\n if (0 == t) return -1;\n var e = 0;\n return 0 == (65535 & t) && (t >>= 16, e += 16), 0 == (255 & t) && (t >>= 8, e += 8), 0 == (15 & t) && (t >>= 4, e += 4), 0 == (3 & t) && (t >>= 2, e += 2), 0 == (1 & t) && ++e, e;\n }\n function w(t) {\n for (var e = 0; 0 != t;) t &= t - 1, ++e;\n return e;\n }\n function T() {}\n function b(t) {\n return t;\n }\n function _(t) {\n this.r2 = i(), this.q3 = i(), r.ONE.dlShiftTo(2 * t.t, this.r2), this.mu = this.r2.divide(t), this.m = t;\n }\n p.prototype.convert = function (t) {\n return t.s < 0 || t.compareTo(this.m) >= 0 ? t.mod(this.m) : t;\n }, p.prototype.revert = function (t) {\n return t;\n }, p.prototype.reduce = function (t) {\n t.divRemTo(this.m, null, t);\n }, p.prototype.mulTo = function (t, e, r) {\n t.multiplyTo(e, r), this.reduce(r);\n }, p.prototype.sqrTo = function (t, e) {\n t.squareTo(e), this.reduce(e);\n }, l.prototype.convert = function (t) {\n var e = i();\n return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && e.compareTo(r.ZERO) > 0 && this.m.subTo(e, e), e;\n }, l.prototype.revert = function (t) {\n var e = i();\n return t.copyTo(e), this.reduce(e), e;\n }, l.prototype.reduce = function (t) {\n for (; t.t <= this.mt2;) t[t.t++] = 0;\n for (var e = 0; e < this.m.t; ++e) {\n var r = 32767 & t[e],\n i = r * this.mpl + ((r * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM;\n for (t[r = e + this.m.t] += this.m.am(0, i, t, e, 0, this.m.t); t[r] >= t.DV;) t[r] -= t.DV, t[++r]++;\n }\n t.clamp(), t.drShiftTo(this.m.t, t), t.compareTo(this.m) >= 0 && t.subTo(this.m, t);\n }, l.prototype.mulTo = function (t, e, r) {\n t.multiplyTo(e, r), this.reduce(r);\n }, l.prototype.sqrTo = function (t, e) {\n t.squareTo(e), this.reduce(e);\n }, r.prototype.copyTo = function (t) {\n for (var e = this.t - 1; e >= 0; --e) t[e] = this[e];\n t.t = this.t, t.s = this.s;\n }, r.prototype.fromInt = function (t) {\n this.t = 1, this.s = t < 0 ? -1 : 0, t > 0 ? this[0] = t : t < -1 ? this[0] = t + this.DV : this.t = 0;\n }, r.prototype.fromString = function (t, e) {\n var i;\n if (16 == e) i = 4;else if (8 == e) i = 3;else if (256 == e) i = 8;else if (2 == e) i = 1;else if (32 == e) i = 5;else {\n if (4 != e) return void this.fromRadix(t, e);\n i = 2;\n }\n this.t = 0, this.s = 0;\n for (var n = t.length, o = !1, s = 0; --n >= 0;) {\n var h = 8 == i ? 255 & t[n] : a(t, n);\n h < 0 ? \"-\" == t.charAt(n) && (o = !0) : (o = !1, 0 == s ? this[this.t++] = h : s + i > this.DB ? (this[this.t - 1] |= (h & (1 << this.DB - s) - 1) << s, this[this.t++] = h >> this.DB - s) : this[this.t - 1] |= h << s, (s += i) >= this.DB && (s -= this.DB));\n }\n 8 == i && 0 != (128 & t[0]) && (this.s = -1, s > 0 && (this[this.t - 1] |= (1 << this.DB - s) - 1 << s)), this.clamp(), o && r.ZERO.subTo(this, this);\n }, r.prototype.clamp = function () {\n for (var t = this.s & this.DM; this.t > 0 && this[this.t - 1] == t;) --this.t;\n }, r.prototype.dlShiftTo = function (t, e) {\n var r;\n for (r = this.t - 1; r >= 0; --r) e[r + t] = this[r];\n for (r = t - 1; r >= 0; --r) e[r] = 0;\n e.t = this.t + t, e.s = this.s;\n }, r.prototype.drShiftTo = function (t, e) {\n for (var r = t; r < this.t; ++r) e[r - t] = this[r];\n e.t = Math.max(this.t - t, 0), e.s = this.s;\n }, r.prototype.lShiftTo = function (t, e) {\n var r,\n i = t % this.DB,\n n = this.DB - i,\n o = (1 << n) - 1,\n s = Math.floor(t / this.DB),\n h = this.s << i & this.DM;\n for (r = this.t - 1; r >= 0; --r) e[r + s + 1] = this[r] >> n | h, h = (this[r] & o) << i;\n for (r = s - 1; r >= 0; --r) e[r] = 0;\n e[s] = h, e.t = this.t + s + 1, e.s = this.s, e.clamp();\n }, r.prototype.rShiftTo = function (t, e) {\n e.s = this.s;\n var r = Math.floor(t / this.DB);\n if (r >= this.t) e.t = 0;else {\n var i = t % this.DB,\n n = this.DB - i,\n o = (1 << i) - 1;\n e[0] = this[r] >> i;\n for (var s = r + 1; s < this.t; ++s) e[s - r - 1] |= (this[s] & o) << n, e[s - r] = this[s] >> i;\n i > 0 && (e[this.t - r - 1] |= (this.s & o) << n), e.t = this.t - r, e.clamp();\n }\n }, r.prototype.subTo = function (t, e) {\n for (var r = 0, i = 0, n = Math.min(t.t, this.t); r < n;) i += this[r] - t[r], e[r++] = i & this.DM, i >>= this.DB;\n if (t.t < this.t) {\n for (i -= t.s; r < this.t;) i += this[r], e[r++] = i & this.DM, i >>= this.DB;\n i += this.s;\n } else {\n for (i += this.s; r < t.t;) i -= t[r], e[r++] = i & this.DM, i >>= this.DB;\n i -= t.s;\n }\n e.s = i < 0 ? -1 : 0, i < -1 ? e[r++] = this.DV + i : i > 0 && (e[r++] = i), e.t = r, e.clamp();\n }, r.prototype.multiplyTo = function (t, e) {\n var i = this.abs(),\n n = t.abs(),\n o = i.t;\n for (e.t = o + n.t; --o >= 0;) e[o] = 0;\n for (o = 0; o < n.t; ++o) e[o + i.t] = i.am(0, n[o], e, o, 0, i.t);\n e.s = 0, e.clamp(), this.s != t.s && r.ZERO.subTo(e, e);\n }, r.prototype.squareTo = function (t) {\n for (var e = this.abs(), r = t.t = 2 * e.t; --r >= 0;) t[r] = 0;\n for (r = 0; r < e.t - 1; ++r) {\n var i = e.am(r, e[r], t, 2 * r, 0, 1);\n (t[r + e.t] += e.am(r + 1, 2 * e[r], t, 2 * r + 1, i, e.t - r - 1)) >= e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1);\n }\n t.t > 0 && (t[t.t - 1] += e.am(r, e[r], t, 2 * r, 0, 1)), t.s = 0, t.clamp();\n }, r.prototype.divRemTo = function (t, e, n) {\n var o = t.abs();\n if (!(o.t <= 0)) {\n var s = this.abs();\n if (s.t < o.t) return null != e && e.fromInt(0), void (null != n && this.copyTo(n));\n null == n && (n = i());\n var h = i(),\n u = this.s,\n a = t.s,\n f = this.DB - c(o[o.t - 1]);\n f > 0 ? (o.lShiftTo(f, h), s.lShiftTo(f, n)) : (o.copyTo(h), s.copyTo(n));\n var p = h.t,\n l = h[p - 1];\n if (0 != l) {\n var d = l * (1 << this.F1) + (p > 1 ? h[p - 2] >> this.F2 : 0),\n m = this.FV / d,\n v = (1 << this.F1) / d,\n y = 1 << this.F2,\n g = n.t,\n w = g - p,\n T = null == e ? i() : e;\n for (h.dlShiftTo(w, T), n.compareTo(T) >= 0 && (n[n.t++] = 1, n.subTo(T, n)), r.ONE.dlShiftTo(p, T), T.subTo(h, h); h.t < p;) h[h.t++] = 0;\n for (; --w >= 0;) {\n var b = n[--g] == l ? this.DM : Math.floor(n[g] * m + (n[g - 1] + y) * v);\n if ((n[g] += h.am(0, b, n, w, 0, p)) < b) for (h.dlShiftTo(w, T), n.subTo(T, n); n[g] < --b;) n.subTo(T, n);\n }\n null != e && (n.drShiftTo(p, e), u != a && r.ZERO.subTo(e, e)), n.t = p, n.clamp(), f > 0 && n.rShiftTo(f, n), u < 0 && r.ZERO.subTo(n, n);\n }\n }\n }, r.prototype.invDigit = function () {\n if (this.t < 1) return 0;\n var t = this[0];\n if (0 == (1 & t)) return 0;\n var e = 3 & t;\n return (e = (e = (e = (e = e * (2 - (15 & t) * e) & 15) * (2 - (255 & t) * e) & 255) * (2 - ((65535 & t) * e & 65535)) & 65535) * (2 - t * e % this.DV) % this.DV) > 0 ? this.DV - e : -e;\n }, r.prototype.isEven = function () {\n return 0 == (this.t > 0 ? 1 & this[0] : this.s);\n }, r.prototype.exp = function (t, e) {\n if (t > 4294967295 || t < 1) return r.ONE;\n var n = i(),\n o = i(),\n s = e.convert(this),\n h = c(t) - 1;\n for (s.copyTo(n); --h >= 0;) if (e.sqrTo(n, o), (t & 1 << h) > 0) e.mulTo(o, s, n);else {\n var u = n;\n n = o, o = u;\n }\n return e.revert(n);\n }, r.prototype.toString = function (t) {\n if (this.s < 0) return \"-\" + this.negate().toString(t);\n var e;\n if (16 == t) e = 4;else if (8 == t) e = 3;else if (2 == t) e = 1;else if (32 == t) e = 5;else {\n if (4 != t) return this.toRadix(t);\n e = 2;\n }\n var r,\n i = (1 << e) - 1,\n n = !1,\n o = \"\",\n s = this.t,\n h = this.DB - s * this.DB % e;\n if (s-- > 0) for (h < this.DB && (r = this[s] >> h) > 0 && (n = !0, o = u(r)); s >= 0;) h < e ? (r = (this[s] & (1 << h) - 1) << e - h, r |= this[--s] >> (h += this.DB - e)) : (r = this[s] >> (h -= e) & i, h <= 0 && (h += this.DB, --s)), r > 0 && (n = !0), n && (o += u(r));\n return n ? o : \"0\";\n }, r.prototype.negate = function () {\n var t = i();\n return r.ZERO.subTo(this, t), t;\n }, r.prototype.abs = function () {\n return this.s < 0 ? this.negate() : this;\n }, r.prototype.compareTo = function (t) {\n var e = this.s - t.s;\n if (0 != e) return e;\n var r = this.t;\n if (0 != (e = r - t.t)) return this.s < 0 ? -e : e;\n for (; --r >= 0;) if (0 != (e = this[r] - t[r])) return e;\n return 0;\n }, r.prototype.bitLength = function () {\n return this.t <= 0 ? 0 : this.DB * (this.t - 1) + c(this[this.t - 1] ^ this.s & this.DM);\n }, r.prototype.mod = function (t) {\n var e = i();\n return this.abs().divRemTo(t, null, e), this.s < 0 && e.compareTo(r.ZERO) > 0 && t.subTo(e, e), e;\n }, r.prototype.modPowInt = function (t, e) {\n var r;\n return r = t < 256 || e.isEven() ? new p(e) : new l(e), this.exp(t, r);\n }, r.ZERO = f(0), r.ONE = f(1), T.prototype.convert = b, T.prototype.revert = b, T.prototype.mulTo = function (t, e, r) {\n t.multiplyTo(e, r);\n }, T.prototype.sqrTo = function (t, e) {\n t.squareTo(e);\n }, _.prototype.convert = function (t) {\n if (t.s < 0 || t.t > 2 * this.m.t) return t.mod(this.m);\n if (t.compareTo(this.m) < 0) return t;\n var e = i();\n return t.copyTo(e), this.reduce(e), e;\n }, _.prototype.revert = function (t) {\n return t;\n }, _.prototype.reduce = function (t) {\n for (t.drShiftTo(this.m.t - 1, this.r2), t.t > this.m.t + 1 && (t.t = this.m.t + 1, t.clamp()), this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3), this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); t.compareTo(this.r2) < 0;) t.dAddOffset(1, this.m.t + 1);\n for (t.subTo(this.r2, t); t.compareTo(this.m) >= 0;) t.subTo(this.m, t);\n }, _.prototype.mulTo = function (t, e, r) {\n t.multiplyTo(e, r), this.reduce(r);\n }, _.prototype.sqrTo = function (t, e) {\n t.squareTo(e), this.reduce(e);\n };\n var S,\n A,\n D,\n B = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997],\n x = (1 << 26) / B[B.length - 1];\n function E() {\n var t;\n t = new Date().getTime(), A[D++] ^= 255 & t, A[D++] ^= t >> 8 & 255, A[D++] ^= t >> 16 & 255, A[D++] ^= t >> 24 & 255, D >= j && (D -= j);\n }\n if (r.prototype.chunkSize = function (t) {\n return Math.floor(Math.LN2 * this.DB / Math.log(t));\n }, r.prototype.toRadix = function (t) {\n if (null == t && (t = 10), 0 == this.signum() || t < 2 || t > 36) return \"0\";\n var e = this.chunkSize(t),\n r = Math.pow(t, e),\n n = f(r),\n o = i(),\n s = i(),\n h = \"\";\n for (this.divRemTo(n, o, s); o.signum() > 0;) h = (r + s.intValue()).toString(t).substr(1) + h, o.divRemTo(n, o, s);\n return s.intValue().toString(t) + h;\n }, r.prototype.fromRadix = function (t, e) {\n this.fromInt(0), null == e && (e = 10);\n for (var i = this.chunkSize(e), n = Math.pow(e, i), o = !1, s = 0, h = 0, u = 0; u < t.length; ++u) {\n var f = a(t, u);\n f < 0 ? \"-\" == t.charAt(u) && 0 == this.signum() && (o = !0) : (h = e * h + f, ++s >= i && (this.dMultiply(n), this.dAddOffset(h, 0), s = 0, h = 0));\n }\n s > 0 && (this.dMultiply(Math.pow(e, s)), this.dAddOffset(h, 0)), o && r.ZERO.subTo(this, this);\n }, r.prototype.fromNumber = function (t, e, i) {\n if (\"number\" == typeof e) {\n if (t < 2) this.fromInt(1);else for (this.fromNumber(t, i), this.testBit(t - 1) || this.bitwiseTo(r.ONE.shiftLeft(t - 1), m, this), this.isEven() && this.dAddOffset(1, 0); !this.isProbablePrime(e);) this.dAddOffset(2, 0), this.bitLength() > t && this.subTo(r.ONE.shiftLeft(t - 1), this);\n } else {\n var n = new Array(),\n o = 7 & t;\n n.length = 1 + (t >> 3), e.nextBytes(n), o > 0 ? n[0] &= (1 << o) - 1 : n[0] = 0, this.fromString(n, 256);\n }\n }, r.prototype.bitwiseTo = function (t, e, r) {\n var i,\n n,\n o = Math.min(t.t, this.t);\n for (i = 0; i < o; ++i) r[i] = e(this[i], t[i]);\n if (t.t < this.t) {\n for (n = t.s & this.DM, i = o; i < this.t; ++i) r[i] = e(this[i], n);\n r.t = this.t;\n } else {\n for (n = this.s & this.DM, i = o; i < t.t; ++i) r[i] = e(n, t[i]);\n r.t = t.t;\n }\n r.s = e(this.s, t.s), r.clamp();\n }, r.prototype.changeBit = function (t, e) {\n var i = r.ONE.shiftLeft(t);\n return this.bitwiseTo(i, e, i), i;\n }, r.prototype.addTo = function (t, e) {\n for (var r = 0, i = 0, n = Math.min(t.t, this.t); r < n;) i += this[r] + t[r], e[r++] = i & this.DM, i >>= this.DB;\n if (t.t < this.t) {\n for (i += t.s; r < this.t;) i += this[r], e[r++] = i & this.DM, i >>= this.DB;\n i += this.s;\n } else {\n for (i += this.s; r < t.t;) i += t[r], e[r++] = i & this.DM, i >>= this.DB;\n i += t.s;\n }\n e.s = i < 0 ? -1 : 0, i > 0 ? e[r++] = i : i < -1 && (e[r++] = this.DV + i), e.t = r, e.clamp();\n }, r.prototype.dMultiply = function (t) {\n this[this.t] = this.am(0, t - 1, this, 0, 0, this.t), ++this.t, this.clamp();\n }, r.prototype.dAddOffset = function (t, e) {\n if (0 != t) {\n for (; this.t <= e;) this[this.t++] = 0;\n for (this[e] += t; this[e] >= this.DV;) this[e] -= this.DV, ++e >= this.t && (this[this.t++] = 0), ++this[e];\n }\n }, r.prototype.multiplyLowerTo = function (t, e, r) {\n var i,\n n = Math.min(this.t + t.t, e);\n for (r.s = 0, r.t = n; n > 0;) r[--n] = 0;\n for (i = r.t - this.t; n < i; ++n) r[n + this.t] = this.am(0, t[n], r, n, 0, this.t);\n for (i = Math.min(t.t, e); n < i; ++n) this.am(0, t[n], r, n, 0, e - n);\n r.clamp();\n }, r.prototype.multiplyUpperTo = function (t, e, r) {\n --e;\n var i = r.t = this.t + t.t - e;\n for (r.s = 0; --i >= 0;) r[i] = 0;\n for (i = Math.max(e - this.t, 0); i < t.t; ++i) r[this.t + i - e] = this.am(e - i, t[i], r, 0, 0, this.t + i - e);\n r.clamp(), r.drShiftTo(1, r);\n }, r.prototype.modInt = function (t) {\n if (t <= 0) return 0;\n var e = this.DV % t,\n r = this.s < 0 ? t - 1 : 0;\n if (this.t > 0) if (0 == e) r = this[0] % t;else for (var i = this.t - 1; i >= 0; --i) r = (e * r + this[i]) % t;\n return r;\n }, r.prototype.millerRabin = function (t) {\n var e = this.subtract(r.ONE),\n n = e.getLowestSetBit();\n if (n <= 0) return !1;\n var o = e.shiftRight(n);\n (t = t + 1 >> 1) > B.length && (t = B.length);\n for (var s = i(), h = 0; h < t; ++h) {\n s.fromInt(B[Math.floor(Math.random() * B.length)]);\n var u = s.modPow(o, this);\n if (0 != u.compareTo(r.ONE) && 0 != u.compareTo(e)) {\n for (var a = 1; a++ < n && 0 != u.compareTo(e);) if (0 == (u = u.modPowInt(2, this)).compareTo(r.ONE)) return !1;\n if (0 != u.compareTo(e)) return !1;\n }\n }\n return !0;\n }, r.prototype.clone = function () {\n var t = i();\n return this.copyTo(t), t;\n }, r.prototype.intValue = function () {\n if (this.s < 0) {\n if (1 == this.t) return this[0] - this.DV;\n if (0 == this.t) return -1;\n } else {\n if (1 == this.t) return this[0];\n if (0 == this.t) return 0;\n }\n return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0];\n }, r.prototype.byteValue = function () {\n return 0 == this.t ? this.s : this[0] << 24 >> 24;\n }, r.prototype.shortValue = function () {\n return 0 == this.t ? this.s : this[0] << 16 >> 16;\n }, r.prototype.signum = function () {\n return this.s < 0 ? -1 : this.t <= 0 || 1 == this.t && this[0] <= 0 ? 0 : 1;\n }, r.prototype.toByteArray = function () {\n var t = this.t,\n e = new Array();\n e[0] = this.s;\n var r,\n i = this.DB - t * this.DB % 8,\n n = 0;\n if (t-- > 0) for (i < this.DB && (r = this[t] >> i) != (this.s & this.DM) >> i && (e[n++] = r | this.s << this.DB - i); t >= 0;) i < 8 ? (r = (this[t] & (1 << i) - 1) << 8 - i, r |= this[--t] >> (i += this.DB - 8)) : (r = this[t] >> (i -= 8) & 255, i <= 0 && (i += this.DB, --t)), 0 != (128 & r) && (r |= -256), 0 == n && (128 & this.s) != (128 & r) && ++n, (n > 0 || r != this.s) && (e[n++] = r);\n return e;\n }, r.prototype.equals = function (t) {\n return 0 == this.compareTo(t);\n }, r.prototype.min = function (t) {\n return this.compareTo(t) < 0 ? this : t;\n }, r.prototype.max = function (t) {\n return this.compareTo(t) > 0 ? this : t;\n }, r.prototype.and = function (t) {\n var e = i();\n return this.bitwiseTo(t, d, e), e;\n }, r.prototype.or = function (t) {\n var e = i();\n return this.bitwiseTo(t, m, e), e;\n }, r.prototype.xor = function (t) {\n var e = i();\n return this.bitwiseTo(t, v, e), e;\n }, r.prototype.andNot = function (t) {\n var e = i();\n return this.bitwiseTo(t, y, e), e;\n }, r.prototype.not = function () {\n for (var t = i(), e = 0; e < this.t; ++e) t[e] = this.DM & ~this[e];\n return t.t = this.t, t.s = ~this.s, t;\n }, r.prototype.shiftLeft = function (t) {\n var e = i();\n return t < 0 ? this.rShiftTo(-t, e) : this.lShiftTo(t, e), e;\n }, r.prototype.shiftRight = function (t) {\n var e = i();\n return t < 0 ? this.lShiftTo(-t, e) : this.rShiftTo(t, e), e;\n }, r.prototype.getLowestSetBit = function () {\n for (var t = 0; t < this.t; ++t) if (0 != this[t]) return t * this.DB + g(this[t]);\n return this.s < 0 ? this.t * this.DB : -1;\n }, r.prototype.bitCount = function () {\n for (var t = 0, e = this.s & this.DM, r = 0; r < this.t; ++r) t += w(this[r] ^ e);\n return t;\n }, r.prototype.testBit = function (t) {\n var e = Math.floor(t / this.DB);\n return e >= this.t ? 0 != this.s : 0 != (this[e] & 1 << t % this.DB);\n }, r.prototype.setBit = function (t) {\n return this.changeBit(t, m);\n }, r.prototype.clearBit = function (t) {\n return this.changeBit(t, y);\n }, r.prototype.flipBit = function (t) {\n return this.changeBit(t, v);\n }, r.prototype.add = function (t) {\n var e = i();\n return this.addTo(t, e), e;\n }, r.prototype.subtract = function (t) {\n var e = i();\n return this.subTo(t, e), e;\n }, r.prototype.multiply = function (t) {\n var e = i();\n return this.multiplyTo(t, e), e;\n }, r.prototype.divide = function (t) {\n var e = i();\n return this.divRemTo(t, e, null), e;\n }, r.prototype.remainder = function (t) {\n var e = i();\n return this.divRemTo(t, null, e), e;\n }, r.prototype.divideAndRemainder = function (t) {\n var e = i(),\n r = i();\n return this.divRemTo(t, e, r), new Array(e, r);\n }, r.prototype.modPow = function (t, e) {\n var r,\n n,\n o = t.bitLength(),\n s = f(1);\n if (o <= 0) return s;\n r = o < 18 ? 1 : o < 48 ? 3 : o < 144 ? 4 : o < 768 ? 5 : 6, n = o < 8 ? new p(e) : e.isEven() ? new _(e) : new l(e);\n var h = new Array(),\n u = 3,\n a = r - 1,\n d = (1 << r) - 1;\n if (h[1] = n.convert(this), r > 1) {\n var m = i();\n for (n.sqrTo(h[1], m); u <= d;) h[u] = i(), n.mulTo(m, h[u - 2], h[u]), u += 2;\n }\n var v,\n y,\n g = t.t - 1,\n w = !0,\n T = i();\n for (o = c(t[g]) - 1; g >= 0;) {\n for (o >= a ? v = t[g] >> o - a & d : (v = (t[g] & (1 << o + 1) - 1) << a - o, g > 0 && (v |= t[g - 1] >> this.DB + o - a)), u = r; 0 == (1 & v);) v >>= 1, --u;\n if ((o -= u) < 0 && (o += this.DB, --g), w) h[v].copyTo(s), w = !1;else {\n for (; u > 1;) n.sqrTo(s, T), n.sqrTo(T, s), u -= 2;\n u > 0 ? n.sqrTo(s, T) : (y = s, s = T, T = y), n.mulTo(T, h[v], s);\n }\n for (; g >= 0 && 0 == (t[g] & 1 << o);) n.sqrTo(s, T), y = s, s = T, T = y, --o < 0 && (o = this.DB - 1, --g);\n }\n return n.revert(s);\n }, r.prototype.modInverse = function (t) {\n var e = t.isEven();\n if (this.isEven() && e || 0 == t.signum()) return r.ZERO;\n for (var i = t.clone(), n = this.clone(), o = f(1), s = f(0), h = f(0), u = f(1); 0 != i.signum();) {\n for (; i.isEven();) i.rShiftTo(1, i), e ? (o.isEven() && s.isEven() || (o.addTo(this, o), s.subTo(t, s)), o.rShiftTo(1, o)) : s.isEven() || s.subTo(t, s), s.rShiftTo(1, s);\n for (; n.isEven();) n.rShiftTo(1, n), e ? (h.isEven() && u.isEven() || (h.addTo(this, h), u.subTo(t, u)), h.rShiftTo(1, h)) : u.isEven() || u.subTo(t, u), u.rShiftTo(1, u);\n i.compareTo(n) >= 0 ? (i.subTo(n, i), e && o.subTo(h, o), s.subTo(u, s)) : (n.subTo(i, n), e && h.subTo(o, h), u.subTo(s, u));\n }\n return 0 != n.compareTo(r.ONE) ? r.ZERO : u.compareTo(t) >= 0 ? u.subtract(t) : u.signum() < 0 ? (u.addTo(t, u), u.signum() < 0 ? u.add(t) : u) : u;\n }, r.prototype.pow = function (t) {\n return this.exp(t, new T());\n }, r.prototype.gcd = function (t) {\n var e = this.s < 0 ? this.negate() : this.clone(),\n r = t.s < 0 ? t.negate() : t.clone();\n if (e.compareTo(r) < 0) {\n var i = e;\n e = r, r = i;\n }\n var n = e.getLowestSetBit(),\n o = r.getLowestSetBit();\n if (o < 0) return e;\n for (n < o && (o = n), o > 0 && (e.rShiftTo(o, e), r.rShiftTo(o, r)); e.signum() > 0;) (n = e.getLowestSetBit()) > 0 && e.rShiftTo(n, e), (n = r.getLowestSetBit()) > 0 && r.rShiftTo(n, r), e.compareTo(r) >= 0 ? (e.subTo(r, e), e.rShiftTo(1, e)) : (r.subTo(e, r), r.rShiftTo(1, r));\n return o > 0 && r.lShiftTo(o, r), r;\n }, r.prototype.isProbablePrime = function (t) {\n var e,\n r = this.abs();\n if (1 == r.t && r[0] <= B[B.length - 1]) {\n for (e = 0; e < B.length; ++e) if (r[0] == B[e]) return !0;\n return !1;\n }\n if (r.isEven()) return !1;\n for (e = 1; e < B.length;) {\n for (var i = B[e], n = e + 1; n < B.length && i < x;) i *= B[n++];\n for (i = r.modInt(i); e < n;) if (i % B[e++] == 0) return !1;\n }\n return r.millerRabin(t);\n }, r.prototype.square = function () {\n var t = i();\n return this.squareTo(t), t;\n }, r.prototype.Barrett = _, null == A) {\n var k;\n if (A = new Array(), D = 0, \"undefined\" != typeof window && window.crypto) if (window.crypto.getRandomValues) {\n var I = new Uint8Array(32);\n for (window.crypto.getRandomValues(I), k = 0; k < 32; ++k) A[D++] = I[k];\n } else if (\"Netscape\" == navigator.appName && navigator.appVersion < \"5\") {\n var M = window.crypto.random(32);\n for (k = 0; k < M.length; ++k) A[D++] = 255 & M.charCodeAt(k);\n }\n for (; D < j;) k = Math.floor(65536 * Math.random()), A[D++] = k >>> 8, A[D++] = 255 & k;\n D = 0, E();\n }\n function C() {\n if (null == S) {\n for (E(), (S = new O()).init(A), D = 0; D < A.length; ++D) A[D] = 0;\n D = 0;\n }\n return S.next();\n }\n function R() {}\n function O() {\n this.i = 0, this.j = 0, this.S = new Array();\n }\n R.prototype.nextBytes = function (t) {\n var e;\n for (e = 0; e < t.length; ++e) t[e] = C();\n }, O.prototype.init = function (t) {\n var e, r, i;\n for (e = 0; e < 256; ++e) this.S[e] = e;\n for (r = 0, e = 0; e < 256; ++e) i = this.S[e], this.S[e] = this.S[r = r + this.S[e] + t[e % t.length] & 255], this.S[r] = i;\n this.i = 0, this.j = 0;\n }, O.prototype.next = function () {\n var t;\n return this.i = this.i + 1 & 255, this.j = this.j + this.S[this.i] & 255, t = this.S[this.i], this.S[this.i] = this.S[this.j], this.S[this.j] = t, this.S[t + this.S[this.i] & 255];\n };\n var j = 256;\n e.exports = {\n default: r,\n BigInteger: r,\n SecureRandom: R\n };\n }).call(t);\n }),\n a = {\n sha1: \"3021300906052b0e03021a05000414\",\n sha224: \"302d300d06096086480165030402040500041c\",\n sha256: \"3031300d060960864801650304020105000420\",\n sha384: \"3041300d060960864801650304020205000430\",\n sha512: \"3051300d060960864801650304020305000440\",\n md2: \"3020300c06082a864886f70d020205000410\",\n md5: \"3020300c06082a864886f70d020505000410\",\n ripemd160: \"3021300906052b2403020105000414\"\n },\n f = {\n sha256: o\n };\nfunction c(t, e) {\n if (this.n = null, this.e = 0, !(null != t && null != e && t.length > 0 && e.length > 0)) throw new Error(\"Invalid key data\");\n this.n = new u.BigInteger(t, 16), this.e = parseInt(e, 16);\n}\nc.prototype.verify = function (t, e) {\n e = e.replace(/[^0-9a-f]|[\\s\\n]]/gi, \"\");\n var r = new u.BigInteger(e, 16);\n if (r.bitLength() > this.n.bitLength()) throw new Error(\"Signature does not match with the key modulus.\");\n var i = function (t) {\n for (var e in a) {\n var r = a[e],\n i = r.length;\n if (t.substring(0, i) === r) return {\n alg: e,\n hash: t.substring(i)\n };\n }\n return [];\n }(r.modPowInt(this.e, this.n).toString(16).replace(/^1f+00/, \"\"));\n if (0 === i.length) return !1;\n if (!f.hasOwnProperty(i.alg)) throw new Error(\"Hashing algorithm is not supported.\");\n var n = f[i.alg](t).toString();\n return i.hash === n;\n};\nfor (var p = [], l = [], d = \"undefined\" != typeof Uint8Array ? Uint8Array : Array, m = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", v = 0, y = m.length; v < y; ++v) p[v] = m[v], l[m.charCodeAt(v)] = v;\nl[\"-\".charCodeAt(0)] = 62, l[\"_\".charCodeAt(0)] = 63;\nvar g = function (t) {\n var e,\n r,\n i = function (t) {\n var e = t.length;\n if (e % 4 > 0) throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var r = t.indexOf(\"=\");\n return -1 === r && (r = e), [r, r === e ? 0 : 4 - r % 4];\n }(t),\n n = i[0],\n o = i[1],\n s = new d(function (t, e, r) {\n return 3 * (e + r) / 4 - r;\n }(0, n, o)),\n h = 0,\n u = o > 0 ? n - 4 : n;\n for (r = 0; r < u; r += 4) e = l[t.charCodeAt(r)] << 18 | l[t.charCodeAt(r + 1)] << 12 | l[t.charCodeAt(r + 2)] << 6 | l[t.charCodeAt(r + 3)], s[h++] = e >> 16 & 255, s[h++] = e >> 8 & 255, s[h++] = 255 & e;\n return 2 === o && (e = l[t.charCodeAt(r)] << 2 | l[t.charCodeAt(r + 1)] >> 4, s[h++] = 255 & e), 1 === o && (e = l[t.charCodeAt(r)] << 10 | l[t.charCodeAt(r + 1)] << 4 | l[t.charCodeAt(r + 2)] >> 2, s[h++] = e >> 8 & 255, s[h++] = 255 & e), s;\n};\nfunction w(t) {\n var e = t.length % 4;\n return 0 === e ? t : t + new Array(4 - e + 1).join(\"=\");\n}\nfunction T(t) {\n return t = w(t).replace(/\\-/g, \"+\").replace(/_/g, \"/\"), decodeURIComponent(function (t) {\n for (var e = \"\", r = 0; r < t.length; r++) e += String.fromCharCode(t[r]);\n return e;\n }(g(t)).split(\"\").map(function (t) {\n return \"%\" + (\"00\" + t.charCodeAt(0).toString(16)).slice(-2);\n }).join(\"\"));\n}\nfunction b(t) {\n return function (t) {\n for (var e = \"\", r = 0; r < t.length; r++) {\n var i = t[r].toString(16);\n e += 2 === i.length ? i : \"0\" + i;\n }\n return e;\n }(g(w(t)));\n}\nvar _ = e(function (e) {\n var r, i;\n r = t, i = function () {\n function t(t) {\n var e = [];\n if (0 === t.length) return \"\";\n if (\"string\" != typeof t[0]) throw new TypeError(\"Url must be a string. Received \" + t[0]);\n if (t[0].match(/^[^/:]+:\\/*$/) && t.length > 1) {\n var r = t.shift();\n t[0] = r + t[0];\n }\n t[0] = t[0].match(/^file:\\/\\/\\//) ? t[0].replace(/^([^/:]+):\\/*/, \"$1:///\") : t[0].replace(/^([^/:]+):\\/*/, \"$1://\");\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n if (\"string\" != typeof n) throw new TypeError(\"Url must be a string. Received \" + n);\n \"\" !== n && (i > 0 && (n = n.replace(/^[\\/]+/, \"\")), n = n.replace(/[\\/]+$/, i < t.length - 1 ? \"\" : \"/\"), e.push(n));\n }\n var o = e.join(\"/\"),\n s = (o = o.replace(/\\/(\\?|&|#[^!])/g, \"$1\")).split(\"?\");\n return s.shift() + (s.length > 0 ? \"?\" : \"\") + s.join(\"&\");\n }\n return function () {\n return t(\"object\" == typeof arguments[0] ? arguments[0] : [].slice.call(arguments));\n };\n }, e.exports ? e.exports = i() : r.urljoin = i();\n});\nfunction S(t, e) {\n return e = e || {}, new Promise(function (r, i) {\n var n = new XMLHttpRequest(),\n o = [],\n s = [],\n h = {},\n u = function () {\n return {\n ok: 2 == (n.status / 100 | 0),\n statusText: n.statusText,\n status: n.status,\n url: n.responseURL,\n text: function () {\n return Promise.resolve(n.responseText);\n },\n json: function () {\n return Promise.resolve(n.responseText).then(JSON.parse);\n },\n blob: function () {\n return Promise.resolve(new Blob([n.response]));\n },\n clone: u,\n headers: {\n keys: function () {\n return o;\n },\n entries: function () {\n return s;\n },\n get: function (t) {\n return h[t.toLowerCase()];\n },\n has: function (t) {\n return t.toLowerCase() in h;\n }\n }\n };\n };\n for (var a in n.open(e.method || \"get\", t, !0), n.onload = function () {\n n.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, function (t, e, r) {\n o.push(e = e.toLowerCase()), s.push([e, r]), h[e] = h[e] ? h[e] + \",\" + r : r;\n }), r(u());\n }, n.onerror = i, n.withCredentials = \"include\" == e.credentials, e.headers) n.setRequestHeader(a, e.headers[a]);\n n.send(e.body || null);\n });\n}\nfunction A(t) {\n if (t.ok) return t.json();\n var e = new Error(t.statusText);\n return e.response = t, Promise.reject(e);\n}\nfunction D(t) {\n this.name = \"ConfigurationError\", this.message = t || \"\";\n}\nfunction B(t) {\n this.name = \"TokenValidationError\", this.message = t || \"\";\n}\nD.prototype = Error.prototype, B.prototype = Error.prototype;\nvar x = function () {\n function t() {}\n var e = t.prototype;\n return e.get = function () {\n return null;\n }, e.has = function () {\n return null;\n }, e.set = function () {\n return null;\n }, t;\n}();\nr.polyfill();\nvar E = \"RS256\",\n k = function (t) {\n return \"number\" == typeof t;\n },\n I = function () {\n return new Date();\n };\nfunction M(t) {\n var e = t || {};\n if (this.jwksCache = e.jwksCache || new x(), this.expectedAlg = e.expectedAlg || \"RS256\", this.issuer = e.issuer, this.audience = e.audience, this.leeway = 0 === e.leeway ? 0 : e.leeway || 60, this.jwksURI = e.jwksURI, this.maxAge = e.maxAge, this.__clock = \"function\" == typeof e.__clock ? e.__clock : I, this.leeway < 0 || this.leeway > 300) throw new D(\"The leeway should be positive and lower than five minutes.\");\n if (E !== this.expectedAlg) throw new D('Signature algorithm of \"' + this.expectedAlg + '\" is not supported. Expected the ID token to be signed with \"' + E + '\".');\n}\nfunction PluginHandler(webAuth, plugins) {\n this.plugins = plugins;\n for (var a = 0; a < this.plugins.length; a++) {\n if (this.plugins[a].version !== version.raw) {\n var pluginName = \"\";\n throw this.plugins[a].constructor && this.plugins[a].constructor.name && (pluginName = this.plugins[a].constructor.name), new Error(\"Plugin \" + pluginName + \" version (\" + this.plugins[a].version + \") is not compatible with the SDK version (\" + version.raw + \")\");\n }\n this.plugins[a].setWebAuth(webAuth);\n }\n}\nM.prototype.verify = function (t, e, r) {\n if (!r && e && \"function\" == typeof e && (r = e, e = void 0), !t) return r(new B(\"ID token is required but missing\"), null);\n var i = this.decode(t);\n if (i instanceof Error) return r(new B(\"ID token could not be decoded\"), null);\n var n = i.encoded.header + \".\" + i.encoded.payload,\n o = b(i.encoded.signature),\n s = i.header.alg,\n h = i.header.kid,\n u = i.payload.aud,\n a = i.payload.sub,\n f = i.payload.iss,\n c = i.payload.exp,\n p = i.payload.nbf,\n l = i.payload.iat,\n d = i.payload.azp,\n m = i.payload.auth_time,\n v = i.payload.nonce,\n y = this.__clock(),\n g = this;\n if (g.expectedAlg !== s) return r(new B('Signature algorithm of \"' + s + '\" is not supported. Expected the ID token to be signed with \"' + E + '\".'), null);\n this.getRsaVerifier(f, h, function (t, s) {\n if (t) return r(t, null);\n if (!s.verify(n, o)) return r(new B(\"Invalid ID token signature.\"), null);\n if (!f || \"string\" != typeof f) return r(new B(\"Issuer (iss) claim must be a string present in the ID token\"), null);\n if (g.issuer !== f) return r(new B('Issuer (iss) claim mismatch in the ID token, expected \"' + g.issuer + '\", found \"' + f + '\"'), null);\n if (!a || \"string\" != typeof a) return r(new B(\"Subject (sub) claim must be a string present in the ID token\"), null);\n if (!u || \"string\" != typeof u && !Array.isArray(u)) return r(new B(\"Audience (aud) claim must be a string or array of strings present in the ID token\"), null);\n if (Array.isArray(u) && !u.includes(g.audience)) return r(new B('Audience (aud) claim mismatch in the ID token; expected \"' + g.audience + '\" but was not one of \"' + u.join(\", \") + '\"'), null);\n if (\"string\" == typeof u && g.audience !== u) return r(new B('Audience (aud) claim mismatch in the ID token; expected \"' + g.audience + '\" but found \"' + u + '\"'), null);\n if (e) {\n if (!v || \"string\" != typeof v) return r(new B(\"Nonce (nonce) claim must be a string present in the ID token\"), null);\n if (v !== e) return r(new B('Nonce (nonce) claim value mismatch in the ID token; expected \"' + e + '\", found \"' + v + '\"'), null);\n }\n if (Array.isArray(u) && u.length > 1) {\n if (!d || \"string\" != typeof d) return r(new B(\"Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values\"), null);\n if (d !== g.audience) return r(new B('Authorized Party (azp) claim mismatch in the ID token; expected \"' + g.audience + '\", found \"' + d + '\"'), null);\n }\n if (!c || !k(c)) return r(new B(\"Expiration Time (exp) claim must be a number present in the ID token\"), null);\n if (!l || !k(l)) return r(new B(\"Issued At (iat) claim must be a number present in the ID token\"), null);\n var h = c + g.leeway,\n w = new Date(0);\n if (w.setUTCSeconds(h), y > w) return r(new B('Expiration Time (exp) claim error in the ID token; current time \"' + y + '\" is after expiration time \"' + w + '\"'), null);\n if (p && k(p)) {\n var T = p - g.leeway,\n b = new Date(0);\n if (b.setUTCSeconds(T), y < b) return r(new B('Not Before Time (nbf) claim error in the ID token; current time \"' + y + '\" is before the not before time \"' + b + '\"'), null);\n }\n if (g.maxAge) {\n if (!m || !k(m)) return r(new B(\"Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified\"), null);\n var _ = m + g.maxAge + g.leeway,\n S = new Date(0);\n if (S.setUTCSeconds(_), y > S) return r(new B('Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time \"' + y + '\" is after last auth time at \"' + S + '\"'), null);\n }\n return r(null, i.payload);\n });\n}, M.prototype.getRsaVerifier = function (t, e, r) {\n var i = this,\n n = t + e;\n Promise.resolve(this.jwksCache.has(n)).then(function (r) {\n return r ? i.jwksCache.get(n) : (o = {\n jwksURI: i.jwksURI,\n iss: t,\n kid: e\n }, (\"undefined\" == typeof fetch ? S : fetch)(o.jwksURI || _(o.iss, \".well-known\", \"jwks.json\")).then(A).then(function (t) {\n var e,\n r,\n i,\n n = null;\n for (e = 0; e < t.keys.length && null === n; e++) (r = t.keys[e]).kid === o.kid && (n = r);\n if (!n) throw new Error('Could not find a public key for Key ID (kid) \"' + o.kid + '\"');\n return {\n modulus: b((i = n).n),\n exp: b(i.e)\n };\n }).catch(function (t) {\n throw t;\n }));\n var o;\n }).then(function (t) {\n if (!t || !t.modulus || !t.exp) throw new Error(\"Empty keyInfo in response\");\n return Promise.resolve(i.jwksCache.set(n, t)).then(function () {\n r && r(null, new c(t.modulus, t.exp));\n });\n }).catch(function (t) {\n r && r(t);\n });\n}, M.prototype.decode = function (t) {\n var e,\n r,\n i = t.split(\".\");\n if (3 !== i.length) return new B(\"Cannot decode a malformed JWT\");\n try {\n e = JSON.parse(T(i[0])), r = JSON.parse(T(i[1]));\n } catch (t) {\n return new B(\"Token header or payload is not valid JSON\");\n }\n return {\n header: e,\n payload: r,\n encoded: {\n header: i[0],\n payload: i[1],\n signature: i[2]\n }\n };\n}, M.prototype.validateAccessToken = function (t, e, r, i) {\n if (this.expectedAlg !== e) return i(new B('Signature algorithm of \"' + e + '\" is not supported. Expected \"' + this.expectedAlg + '\"'));\n var n,\n u = o(t),\n a = h.stringify(u),\n f = a.substring(0, a.length / 2),\n c = h.parse(f),\n p = s.stringify(c);\n return i((n = {\n \"+\": \"-\",\n \"/\": \"_\",\n \"=\": \"\"\n }, p.replace(/[+/=]/g, function (t) {\n return n[t];\n }) !== r ? new B(\"Invalid access_token\") : null));\n}, PluginHandler.prototype.get = function (extensibilityPoint) {\n for (var a = 0; a < this.plugins.length; a++) if (this.plugins[a].supports(extensibilityPoint)) return this.plugins[a].init();\n return null;\n};\nvar random = {\n randomString: function (length) {\n var bytes = new Uint8Array(length),\n result = [],\n charset = \"0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._~\",\n cryptoObj = windowHelper.getWindow().crypto || windowHelper.getWindow().msCrypto;\n if (!cryptoObj) return null;\n for (var random = cryptoObj.getRandomValues(bytes), a = 0; a < random.length; a++) result.push(charset[random[a] % charset.length]);\n return result.join(\"\");\n }\n};\nfunction TransactionManager(options) {\n var transaction = options.transaction || {};\n this.namespace = transaction.namespace || \"com.auth0.auth.\", this.keyLength = transaction.keyLength || 32, this.stateExpiration = options.stateExpiration ? options.stateExpiration / 60 / 24 : 1 / 48, this.storage = new Storage(options), this.options = options;\n}\nfunction IframeHandler(options) {\n if (this.url = options.url, this.callback = options.callback, this.timeout = options.timeout || 6e4, this.timeoutCallback = options.timeoutCallback || null, this.eventListenerType = options.eventListenerType || \"message\", this.iframe = null, this.timeoutHandle = null, this._destroyTimeout = null, this.transientMessageEventListener = null, this.proxyEventListener = null, this.eventValidator = options.eventValidator || {\n isValid: function () {\n return !0;\n }\n }, \"function\" != typeof this.callback) throw new Error(\"options.callback must be a function\");\n}\nfunction WebMessageHandler(webAuth) {\n this.webAuth = webAuth, this.warn = new Warn(webAuth.baseOptions);\n}\nfunction CrossOriginAuthentication(webAuth, options) {\n this.webAuth = webAuth, this.baseOptions = options, this.request = new RequestBuilder(options), this.webMessageHandler = new WebMessageHandler(webAuth), this.storage = new Storage(options);\n}\nfunction createKey(origin, coId) {\n return [\"co/verifier\", encodeURIComponent(origin), encodeURIComponent(coId)].join(\"/\");\n}\nfunction Redirect(auth0, options) {\n this.webAuth = auth0, this.baseOptions = options, this.crossOriginAuthentication = new CrossOriginAuthentication(auth0, this.baseOptions), this.warn = new Warn({\n disableWarnings: !!options._disableDeprecationWarnings\n });\n}\nTransactionManager.prototype.process = function (options) {\n if (!options.responseType) throw new Error(\"responseType is required\");\n var lastUsedConnection = options.realm || options.connection,\n responseTypeIncludesIdToken = -1 !== options.responseType.indexOf(\"id_token\"),\n transaction = this.generateTransaction(options.appState, options.state, options.nonce, lastUsedConnection, responseTypeIncludesIdToken, options.organization);\n return options.state || (options.state = transaction.state), responseTypeIncludesIdToken && !options.nonce && (options.nonce = transaction.nonce), options;\n}, TransactionManager.prototype.generateTransaction = function (appState, state, nonce, lastUsedConnection, generateNonce, organization) {\n if (state = state || random.randomString(this.keyLength), nonce = nonce || (generateNonce ? random.randomString(this.keyLength) : null), !(windowHelper.getWindow().location.host === this.options.domain)) {\n var transactionPayload = {\n nonce: nonce,\n appState: appState,\n state: state,\n lastUsedConnection: lastUsedConnection\n };\n organization && (transactionPayload.organization = organization), this.storage.setItem(this.namespace + state, transactionPayload, {\n expires: this.stateExpiration\n });\n }\n return {\n state: state,\n nonce: nonce\n };\n}, TransactionManager.prototype.getStoredTransaction = function (state) {\n var transactionData;\n return transactionData = this.storage.getItem(this.namespace + state), this.clearTransaction(state), transactionData;\n}, TransactionManager.prototype.clearTransaction = function (state) {\n this.storage.removeItem(this.namespace + state);\n}, IframeHandler.prototype.init = function () {\n var _this = this,\n _window = windowHelper.getWindow();\n switch (this.iframe = _window.document.createElement(\"iframe\"), this.iframe.style.display = \"none\", this.proxyEventListener = function (e) {\n _this.eventListener(e);\n }, this.eventListenerType) {\n case \"message\":\n this.eventSourceObject = _window;\n break;\n case \"load\":\n this.eventSourceObject = this.iframe;\n break;\n default:\n throw new Error(\"Unsupported event listener type: \" + this.eventListenerType);\n }\n this.eventSourceObject.addEventListener(this.eventListenerType, this.proxyEventListener, !1), _window.document.body.appendChild(this.iframe), this.iframe.src = this.url, this.timeoutHandle = setTimeout(function () {\n _this.timeoutHandler();\n }, this.timeout);\n}, IframeHandler.prototype.eventListener = function (event) {\n var eventData = {\n event: event,\n sourceObject: this.eventSourceObject\n };\n this.eventValidator.isValid(eventData) && (this.destroy(), this.callback(eventData));\n}, IframeHandler.prototype.timeoutHandler = function () {\n this.destroy(), this.timeoutCallback && this.timeoutCallback();\n}, IframeHandler.prototype.destroy = function () {\n var _this = this;\n clearTimeout(this.timeoutHandle), this._destroyTimeout = setTimeout(function () {\n _this.eventSourceObject.removeEventListener(_this.eventListenerType, _this.proxyEventListener, !1), _this.iframe.parentNode && _this.iframe.parentNode.removeChild(_this.iframe);\n }, 0);\n}, WebMessageHandler.prototype.run = function (options, cb) {\n var _this = this;\n options.responseMode = \"web_message\", options.prompt = \"none\";\n var currentOrigin = windowHelper.getOrigin(),\n redirectUriOrigin = objectHelper.getOriginFromUrl(options.redirectUri);\n if (redirectUriOrigin && currentOrigin !== redirectUriOrigin) return cb({\n error: \"origin_mismatch\",\n error_description: \"The redirectUri's origin (\" + redirectUriOrigin + \") should match the window's origin (\" + currentOrigin + \").\"\n });\n !function (authorizeUrl, options, callback) {\n new IframeHandler({\n url: authorizeUrl,\n eventListenerType: \"message\",\n callback: function (eventData) {\n callback(null, eventData);\n },\n timeout: options.timeout,\n eventValidator: {\n isValid: function (eventData) {\n return !(!eventData.event.data || \"authorization_response\" !== eventData.event.data.type || options.state !== eventData.event.data.response.state);\n }\n },\n timeoutCallback: function () {\n callback({\n error: \"timeout\",\n error_description: \"Timeout during executing web_message communication\",\n state: options.state\n });\n }\n }).init();\n }(this.webAuth.client.buildAuthorizeUrl(options), options, function (err, eventData) {\n var error = err;\n if (!err && eventData.event.data.response.error && (error = eventData.event.data.response), !error) {\n var parsedHash = eventData.event.data.response;\n return _this.webAuth.validateAuthenticationResponse(options, parsedHash, cb);\n }\n return \"consent_required\" === error.error && \"localhost\" === windowHelper.getWindow().location.hostname && _this.warn.warning(\"Consent Required. Consent can't be skipped on localhost. Read more here: https://auth0.com/docs/api-auth/user-consent#skipping-consent-for-first-party-clients\"), _this.webAuth.transactionManager.clearTransaction(error.state), cb(objectHelper.pick(error, [\"error\", \"error_description\"]));\n });\n}, CrossOriginAuthentication.prototype.login = function (options, cb) {\n var _this = this,\n url = urlJoin(this.baseOptions.rootUrl, \"/co/authenticate\");\n options.username = options.username || options.email, delete options.email;\n var authenticateBody = {\n client_id: options.clientID || this.baseOptions.clientID,\n username: options.username\n };\n options.password && (authenticateBody.password = options.password), options.otp && (authenticateBody.otp = options.otp);\n var realm = options.realm || this.baseOptions.realm;\n if (realm) {\n var credentialType = options.credentialType || this.baseOptions.credentialType || \"http://auth0.com/oauth/grant-type/password-realm\";\n authenticateBody.realm = realm, authenticateBody.credential_type = credentialType;\n } else authenticateBody.credential_type = \"password\";\n this.request.post(url).withCredentials().send(authenticateBody).end(function (err, data) {\n if (err) {\n var errorObject = err.response && err.response.body || {\n error: \"request_error\",\n error_description: JSON.stringify(err)\n };\n return wrapCallback(cb, {\n forceLegacyError: !0\n })(errorObject);\n }\n function doAuth() {\n var popupMode = !0 === options.popup;\n options = objectHelper.blacklist(options, [\"password\", \"credentialType\", \"otp\", \"popup\", \"onRedirecting\"]);\n var authorizeOptions = objectHelper.merge(options).with({\n loginTicket: data.body.login_ticket\n }),\n key = createKey(_this.baseOptions.rootUrl, data.body.co_id);\n _this.storage.setItem(key, data.body.co_verifier, {\n expires: 1 / 96\n }), popupMode ? _this.webMessageHandler.run(authorizeOptions, wrapCallback(cb, {\n forceLegacyError: !0\n })) : _this.webAuth.authorize(authorizeOptions);\n }\n \"function\" == typeof options.onRedirecting ? options.onRedirecting(doAuth) : doAuth();\n });\n}, CrossOriginAuthentication.prototype.callback = function () {\n var targetOrigin = decodeURIComponent(function (name) {\n var parts = (\"&\" + windowHelper.getWindow().location.hash.substring(1)).split(\"&\" + name + \"=\");\n if (2 === parts.length) return parts.pop().split(\"&\").shift();\n }(\"origin\")),\n theWindow = windowHelper.getWindow(),\n _this = this;\n theWindow.addEventListener(\"message\", function (evt) {\n if (\"co_verifier_request\" === evt.data.type) {\n var key = createKey(evt.origin, evt.data.request.id),\n verifier = function (storage, key) {\n try {\n var verifier = storage.getItem(key);\n return storage.removeItem(key), verifier || \"\";\n } catch (e) {\n return \"\";\n }\n }(_this.storage, key);\n evt.source.postMessage({\n type: \"co_verifier_response\",\n response: {\n verifier: verifier\n }\n }, evt.origin);\n }\n }), theWindow.parent.postMessage({\n type: \"ready\"\n }, targetOrigin);\n}, Redirect.prototype.loginWithCredentials = function (options, cb) {\n options.realm = options.realm || options.connection, delete options.connection, this.crossOriginAuthentication.login(options, cb);\n}, Redirect.prototype.signupAndLogin = function (options, cb) {\n var _this = this;\n return this.webAuth.client.dbConnection.signup(options, function (err) {\n return err ? cb(err) : (options.realm = options.realm || options.connection, delete options.connection, _this.webAuth.login(options, cb));\n });\n};\nvar winchan = createCommonjsModule(function (module) {\n var WinChan = function () {\n function addListener(w, event, cb) {\n w.attachEvent ? w.attachEvent(\"on\" + event, cb) : w.addEventListener && w.addEventListener(event, cb, !1);\n }\n function removeListener(w, event, cb) {\n w.detachEvent ? w.detachEvent(\"on\" + event, cb) : w.removeEventListener && w.removeEventListener(event, cb, !1);\n }\n function extractOrigin(url) {\n /^https?:\\/\\//.test(url) || (url = window.location.href);\n var m = /^(https?:\\/\\/[\\-_a-zA-Z\\.0-9:]+)/.exec(url);\n return m ? m[1] : url;\n }\n var isIE = function () {\n if (\"undefined\" == typeof navigator) return !1;\n var rv = -1,\n ua = navigator.userAgent;\n if (\"Microsoft Internet Explorer\" === navigator.appName) null != new RegExp(\"MSIE ([0-9]{1,}[.0-9]{0,})\").exec(ua) && (rv = parseFloat(RegExp.$1));else if (ua.indexOf(\"Trident\") > -1) {\n null !== new RegExp(\"rv:([0-9]{2,2}[.0-9]{0,})\").exec(ua) && (rv = parseFloat(RegExp.$1));\n }\n return rv >= 8;\n }();\n return \"undefined\" != typeof window && window.JSON && window.JSON.stringify && window.JSON.parse && window.postMessage ? {\n open: function (opts, cb) {\n if (!cb) throw \"missing required callback argument\";\n var err, iframe;\n opts.url || (err = \"missing required 'url' parameter\"), opts.relay_url || (err = \"missing required 'relay_url' parameter\"), err && setTimeout(function () {\n cb(err);\n }, 0), opts.window_name || (opts.window_name = null), opts.window_features && !function () {\n try {\n var userAgent = navigator.userAgent;\n return -1 != userAgent.indexOf(\"Fennec/\") || -1 != userAgent.indexOf(\"Firefox/\") && -1 != userAgent.indexOf(\"Android\");\n } catch (e) {}\n return !1;\n }() || (opts.window_features = void 0);\n var messageTarget,\n origin = opts.origin || extractOrigin(opts.url);\n if (origin !== extractOrigin(opts.relay_url)) return setTimeout(function () {\n cb(\"invalid arguments: origin of url and relay_url must match\");\n }, 0);\n isIE && ((iframe = document.createElement(\"iframe\")).setAttribute(\"src\", opts.relay_url), iframe.style.display = \"none\", iframe.setAttribute(\"name\", \"__winchan_relay_frame\"), document.body.appendChild(iframe), messageTarget = iframe.contentWindow);\n var w = opts.popup || window.open(opts.url, opts.window_name, opts.window_features);\n opts.popup && (w.location.href = opts.url), messageTarget || (messageTarget = w);\n var closeInterval = setInterval(function () {\n w && w.closed && (cleanup(), cb && (cb(\"User closed the popup window\"), cb = null));\n }, 500),\n req = JSON.stringify({\n a: \"request\",\n d: opts.params\n });\n function cleanup() {\n if (iframe && document.body.removeChild(iframe), iframe = void 0, closeInterval && (closeInterval = clearInterval(closeInterval)), removeListener(window, \"message\", onMessage), removeListener(window, \"unload\", cleanup), w) try {\n w.close();\n } catch (securityViolation) {\n messageTarget.postMessage(\"die\", origin);\n }\n w = messageTarget = void 0;\n }\n function onMessage(e) {\n if (e.origin === origin) {\n try {\n var d = JSON.parse(e.data);\n } catch (err) {\n if (cb) return cb(err);\n throw err;\n }\n \"ready\" === d.a ? messageTarget.postMessage(req, origin) : \"error\" === d.a ? (cleanup(), cb && (cb(d.d), cb = null)) : \"response\" === d.a && (cleanup(), cb && (cb(null, d.d), cb = null));\n }\n }\n return addListener(window, \"unload\", cleanup), addListener(window, \"message\", onMessage), {\n originalPopup: w,\n close: cleanup,\n focus: function () {\n if (w) try {\n w.focus();\n } catch (e) {}\n }\n };\n },\n onOpen: function (cb) {\n var o = \"*\",\n msgTarget = isIE ? function () {\n for (var frames = window.opener.frames, i = frames.length - 1; i >= 0; i--) try {\n if (frames[i].location.protocol === window.location.protocol && frames[i].location.host === window.location.host && \"__winchan_relay_frame\" === frames[i].name) return frames[i];\n } catch (e) {}\n }() : window.opener;\n if (!msgTarget) throw \"can't find relay frame\";\n function doPost(msg) {\n msg = JSON.stringify(msg), isIE ? msgTarget.doPost(msg, o) : msgTarget.postMessage(msg, o);\n }\n function onDie(e) {\n if (\"die\" === e.data) try {\n window.close();\n } catch (o_O) {}\n }\n addListener(isIE ? msgTarget : window, \"message\", function onMessage(e) {\n var d;\n try {\n d = JSON.parse(e.data);\n } catch (err) {}\n d && \"request\" === d.a && (removeListener(window, \"message\", onMessage), o = e.origin, cb && setTimeout(function () {\n cb(o, d.d, function (r) {\n cb = void 0, doPost({\n a: \"response\",\n d: r\n });\n });\n }, 0));\n }), addListener(isIE ? msgTarget : window, \"message\", onDie);\n try {\n doPost({\n a: \"ready\"\n });\n } catch (e) {\n addListener(msgTarget, \"load\", function (e) {\n doPost({\n a: \"ready\"\n });\n });\n }\n var onUnload = function () {\n try {\n removeListener(isIE ? msgTarget : window, \"message\", onDie);\n } catch (ohWell) {}\n cb && doPost({\n a: \"error\",\n d: \"client closed window\"\n }), cb = void 0;\n try {\n window.close();\n } catch (e) {}\n };\n return addListener(window, \"unload\", onUnload), {\n detach: function () {\n removeListener(window, \"unload\", onUnload);\n }\n };\n }\n } : {\n open: function (url, winopts, arg, cb) {\n setTimeout(function () {\n cb(\"unsupported browser\");\n }, 0);\n },\n onOpen: function (cb) {\n setTimeout(function () {\n cb(\"unsupported browser\");\n }, 0);\n }\n };\n }();\n module.exports && (module.exports = WinChan);\n});\nvar urlHelper = {\n extractOrigin: function (url) {\n /^https?:\\/\\//.test(url) || (url = window.location.href);\n var m = /^(https?:\\/\\/[-_a-zA-Z.0-9:]+)/.exec(url);\n return m ? m[1] : url;\n }\n};\nfunction PopupHandler() {\n this._current_popup = null;\n}\nfunction Popup(webAuth, options) {\n this.baseOptions = options, this.baseOptions.popupOrigin = options.popupOrigin, this.client = webAuth.client, this.webAuth = webAuth, this.transactionManager = new TransactionManager(this.baseOptions), this.crossOriginAuthentication = new CrossOriginAuthentication(webAuth, this.baseOptions), this.warn = new Warn({\n disableWarnings: !!options._disableDeprecationWarnings\n });\n}\nfunction SilentAuthenticationHandler(options) {\n this.authenticationUrl = options.authenticationUrl, this.timeout = options.timeout || 6e4, this.handler = null, this.postMessageDataType = options.postMessageDataType || !1, this.postMessageOrigin = options.postMessageOrigin || windowHelper.getWindow().location.origin || windowHelper.getWindow().location.protocol + \"//\" + windowHelper.getWindow().location.hostname + (windowHelper.getWindow().location.port ? \":\" + windowHelper.getWindow().location.port : \"\");\n}\nfunction UsernamePassword(options) {\n this.baseOptions = options, this.request = new RequestBuilder(options), this.transactionManager = new TransactionManager(this.baseOptions);\n}\nfunction HostedPages(client, options) {\n this.baseOptions = options, this.client = client, this.baseOptions.universalLoginPage = !0, this.request = new RequestBuilder(this.baseOptions), this.warn = new Warn({\n disableWarnings: !!options._disableDeprecationWarnings\n });\n}\nPopupHandler.prototype.calculatePosition = function (options) {\n var width = options.width || 500,\n height = options.height || 600,\n _window = windowHelper.getWindow(),\n screenX = void 0 !== _window.screenX ? _window.screenX : _window.screenLeft,\n screenY = void 0 !== _window.screenY ? _window.screenY : _window.screenTop,\n outerWidth = void 0 !== _window.outerWidth ? _window.outerWidth : _window.document.body.clientWidth,\n outerHeight = void 0 !== _window.outerHeight ? _window.outerHeight : _window.document.body.clientHeight;\n return {\n width: width,\n height: height,\n left: options.left || screenX + (outerWidth - width) / 2,\n top: options.top || screenY + (outerHeight - height) / 2\n };\n}, PopupHandler.prototype.preload = function (options) {\n var _this = this,\n _window = windowHelper.getWindow(),\n popupPosition = this.calculatePosition(options.popupOptions || {}),\n popupOptions = objectHelper.merge(popupPosition).with(options.popupOptions),\n url = options.url || \"about:blank\",\n windowFeatures = lib.stringify(popupOptions, {\n encode: !1,\n delimiter: \",\"\n });\n return this._current_popup && !this._current_popup.closed || (this._current_popup = _window.open(url, \"auth0_signup_popup\", windowFeatures), this._current_popup.kill = function () {\n this.close(), _this._current_popup = null;\n }), this._current_popup;\n}, PopupHandler.prototype.load = function (url, relayUrl, options, cb) {\n var _this = this,\n popupPosition = this.calculatePosition(options.popupOptions || {}),\n popupOptions = objectHelper.merge(popupPosition).with(options.popupOptions),\n winchanOptions = objectHelper.merge({\n url: url,\n relay_url: relayUrl,\n window_features: lib.stringify(popupOptions, {\n delimiter: \",\",\n encode: !1\n }),\n popup: this._current_popup\n }).with(options),\n popup = winchan.open(winchanOptions, function (err, data) {\n if (!err || \"SyntaxError\" !== err.name) return _this._current_popup = null, cb(err, data);\n });\n return popup.focus(), popup;\n}, Popup.prototype.buildPopupHandler = function () {\n var pluginHandler = this.baseOptions.plugins.get(\"popup.getPopupHandler\");\n return pluginHandler ? pluginHandler.getPopupHandler() : new PopupHandler();\n}, Popup.prototype.preload = function (options) {\n options = options || {};\n var popup = this.buildPopupHandler();\n return popup.preload(options), popup;\n}, Popup.prototype.getPopupHandler = function (options, preload) {\n return options.popupHandler ? options.popupHandler : preload ? this.preload(options) : this.buildPopupHandler();\n}, Popup.prototype.callback = function (options) {\n var _this = this,\n theWindow = windowHelper.getWindow(),\n originUrl = (options = options || {}).popupOrigin || this.baseOptions.popupOrigin || windowHelper.getOrigin();\n theWindow.opener ? winchan.onOpen(function (popupOrigin, r, cb) {\n if (popupOrigin !== originUrl) return cb({\n error: \"origin_mismatch\",\n error_description: \"The popup's origin (\" + popupOrigin + \") should match the `popupOrigin` parameter (\" + originUrl + \").\"\n });\n _this.webAuth.parseHash(options || {}, function (err, data) {\n return cb(err || data);\n });\n }) : theWindow.doPost = function (msg) {\n theWindow.parent && theWindow.parent.postMessage(msg, originUrl);\n };\n}, Popup.prototype.authorize = function (options, cb) {\n var url,\n relayUrl,\n popOpts = {},\n pluginHandler = this.baseOptions.plugins.get(\"popup.authorize\"),\n params = objectHelper.merge(this.baseOptions, [\"clientID\", \"scope\", \"domain\", \"audience\", \"tenant\", \"responseType\", \"redirectUri\", \"_csrf\", \"state\", \"_intstate\", \"nonce\", \"organization\", \"invitation\"]).with(objectHelper.blacklist(options, [\"popupHandler\"]));\n return assert.check(params, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n responseType: {\n type: \"string\",\n message: \"responseType option is required\"\n }\n }), relayUrl = urlJoin(this.baseOptions.rootUrl, \"relay.html\"), options.owp ? params.owp = !0 : (popOpts.origin = urlHelper.extractOrigin(params.redirectUri), relayUrl = params.redirectUri), options.popupOptions && (popOpts.popupOptions = objectHelper.pick(options.popupOptions, [\"width\", \"height\", \"top\", \"left\"])), pluginHandler && (params = pluginHandler.processParams(params)), (params = this.transactionManager.process(params)).scope = params.scope || \"openid profile email\", delete params.domain, url = this.client.buildAuthorizeUrl(params), this.getPopupHandler(options).load(url, relayUrl, popOpts, wrapCallback(cb, {\n keepOriginalCasing: !0\n }));\n}, Popup.prototype.loginWithCredentials = function (options, cb) {\n options.realm = options.realm || options.connection, options.popup = !0, options = objectHelper.merge(this.baseOptions, [\"redirectUri\", \"responseType\", \"state\", \"nonce\", \"timeout\"]).with(objectHelper.blacklist(options, [\"popupHandler\", \"connection\"])), options = this.transactionManager.process(options), this.crossOriginAuthentication.login(options, cb);\n}, Popup.prototype.passwordlessVerify = function (options, cb) {\n var _this = this;\n return this.client.passwordless.verify(objectHelper.blacklist(options, [\"popupHandler\"]), function (err) {\n if (err) return cb(err);\n options.username = options.phoneNumber || options.email, options.password = options.verificationCode, delete options.email, delete options.phoneNumber, delete options.verificationCode, delete options.type, _this.client.loginWithResourceOwner(options, cb);\n });\n}, Popup.prototype.signupAndLogin = function (options, cb) {\n var _this = this;\n return this.client.dbConnection.signup(options, function (err) {\n if (err) return cb(err);\n _this.loginWithCredentials(options, cb);\n });\n}, SilentAuthenticationHandler.create = function (options) {\n return new SilentAuthenticationHandler(options);\n}, SilentAuthenticationHandler.prototype.login = function (usePostMessage, callback) {\n this.handler = new IframeHandler({\n auth0: this.auth0,\n url: this.authenticationUrl,\n eventListenerType: usePostMessage ? \"message\" : \"load\",\n callback: this.getCallbackHandler(callback, usePostMessage),\n timeout: this.timeout,\n eventValidator: this.getEventValidator(),\n timeoutCallback: function () {\n callback(null, \"#error=timeout&error_description=Timeout+during+authentication+renew.\");\n },\n usePostMessage: usePostMessage || !1\n }), this.handler.init();\n}, SilentAuthenticationHandler.prototype.getEventValidator = function () {\n var _this = this;\n return {\n isValid: function (eventData) {\n switch (eventData.event.type) {\n case \"message\":\n return eventData.event.origin === _this.postMessageOrigin && eventData.event.source === _this.handler.iframe.contentWindow && (!1 === _this.postMessageDataType || eventData.event.data.type && eventData.event.data.type === _this.postMessageDataType);\n case \"load\":\n if (\"about:\" === eventData.sourceObject.contentWindow.location.protocol) return !1;\n default:\n return !0;\n }\n }\n };\n}, SilentAuthenticationHandler.prototype.getCallbackHandler = function (callback, usePostMessage) {\n return function (eventData) {\n var callbackValue;\n callbackValue = usePostMessage ? \"object\" == typeof eventData.event.data && eventData.event.data.hash ? eventData.event.data.hash : eventData.event.data : eventData.sourceObject.contentWindow.location.hash, callback(null, callbackValue);\n };\n}, UsernamePassword.prototype.login = function (options, cb) {\n var url, body;\n return url = urlJoin(this.baseOptions.rootUrl, \"usernamepassword\", \"login\"), options.username = options.username || options.email, options = objectHelper.blacklist(options, [\"email\", \"onRedirecting\"]), body = objectHelper.merge(this.baseOptions, [\"clientID\", \"redirectUri\", \"tenant\", \"responseType\", \"responseMode\", \"scope\", \"audience\"]).with(options), body = this.transactionManager.process(body), body = objectHelper.toSnakeCase(body, [\"auth0Client\"]), this.request.post(url).send(body).end(wrapCallback(cb));\n}, UsernamePassword.prototype.callback = function (formHtml) {\n var div,\n _document = windowHelper.getDocument();\n (div = _document.createElement(\"div\")).innerHTML = formHtml, _document.body.appendChild(div).children[0].submit();\n}, HostedPages.prototype.login = function (options, cb) {\n if (windowHelper.getWindow().location.host !== this.baseOptions.domain) throw new Error(\"This method is meant to be used only inside the Universal Login Page.\");\n var usernamePassword,\n params = objectHelper.merge(this.baseOptions, [\"clientID\", \"redirectUri\", \"tenant\", \"responseType\", \"responseMode\", \"scope\", \"audience\", \"_csrf\", \"state\", \"_intstate\", \"nonce\"]).with(options);\n return assert.check(params, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n responseType: {\n type: \"string\",\n message: \"responseType option is required\"\n }\n }), (usernamePassword = new UsernamePassword(this.baseOptions)).login(params, function (err, data) {\n if (err) return cb(err);\n function doAuth() {\n usernamePassword.callback(data);\n }\n if (\"function\" == typeof options.onRedirecting) return options.onRedirecting(function () {\n doAuth();\n });\n doAuth();\n });\n}, HostedPages.prototype.signupAndLogin = function (options, cb) {\n var _this = this;\n return _this.client.client.dbConnection.signup(options, function (err) {\n return err ? cb(err) : _this.login(options, cb);\n });\n}, HostedPages.prototype.getSSOData = function (withActiveDirectories, cb) {\n var url,\n params = \"\";\n return \"function\" == typeof withActiveDirectories && (cb = withActiveDirectories, withActiveDirectories = !1), assert.check(withActiveDirectories, {\n type: \"boolean\",\n message: \"withActiveDirectories parameter is not valid\"\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), withActiveDirectories && (params = \"?\" + lib.stringify({\n ldaps: 1,\n client_id: this.baseOptions.clientID\n })), url = urlJoin(this.baseOptions.rootUrl, \"user\", \"ssodata\", params), this.request.get(url, {\n noHeaders: !0\n }).withCredentials().end(wrapCallback(cb));\n};\nvar noop = function () {},\n defaults$2 = {\n lang: \"en\",\n templates: {\n auth0: function (challenge) {\n var message = \"code\" === challenge.type ? \"Enter the code shown above\" : \"Solve the formula shown above\";\n return '
\\n \\n \\n
\\n';\n },\n recaptcha_v2: function () {\n return '
';\n },\n recaptcha_enterprise: function () {\n return '
';\n },\n hcaptcha: function () {\n return '
';\n },\n friendly_captcha: function () {\n return '
';\n },\n error: function () {\n return '
Error getting the bot detection challenge. Please contact the system administrator.
';\n }\n }\n };\nfunction handleAuth0Provider(element, options, challenge, load) {\n element.innerHTML = options.templates[challenge.provider](challenge), element.querySelector(\".captcha-reload\").addEventListener(\"click\", function (e) {\n e.preventDefault(), load();\n });\n}\nfunction globalForCaptchaProvider(provider) {\n switch (provider) {\n case \"recaptcha_v2\":\n return window.grecaptcha;\n case \"recaptcha_enterprise\":\n return window.grecaptcha.enterprise;\n case \"hcaptcha\":\n return window.hcaptcha;\n case \"friendly_captcha\":\n return window.friendlyChallenge;\n default:\n throw new Error(\"Unknown captcha provider\");\n }\n}\nfunction injectCaptchaScript(element, opts, callback) {\n var providerName;\n switch (opts.provider) {\n case \"recaptcha_enterprise\":\n case \"recaptcha_v2\":\n providerName = \"recaptcha\";\n break;\n case \"hcaptcha\":\n providerName = \"hcaptcha\";\n break;\n case \"friendly_captcha\":\n providerName = \"friendly_captcha\";\n }\n var callbackName = providerName + \"Callback_\" + Math.floor(1000001 * Math.random());\n window[callbackName] = function () {\n delete window[callbackName], callback();\n };\n var script = window.document.createElement(\"script\");\n script.src = function (provider, lang, callback) {\n switch (provider) {\n case \"recaptcha_v2\":\n return \"https://www.recaptcha.net/recaptcha/api.js?hl=\" + lang + \"&onload=\" + callback;\n case \"recaptcha_enterprise\":\n return \"https://www.recaptcha.net/recaptcha/enterprise.js?render=explicit&hl=\" + lang + \"&onload=\" + callback;\n case \"hcaptcha\":\n return \"https://js.hcaptcha.com/1/api.js?hl=\" + lang + \"&onload=\" + callback;\n case \"friendly_captcha\":\n return \"https://cdn.jsdelivr.net/npm/friendly-challenge@0.9.12/widget.min.js\";\n default:\n throw new Error(\"Unknown captcha provider\");\n }\n }(opts.provider, opts.lang, callbackName), script.async = !0, script.defer = !0, \"friendly_captcha\" === opts.provider && (script.onload = window[callbackName]), window.document.body.appendChild(script);\n}\nfunction handleCaptchaProvider(element, options, challenge) {\n var captchaClass,\n widgetId = element.hasAttribute(\"data-wid\") && element.getAttribute(\"data-wid\");\n function setValue(value) {\n element.querySelector('input[name=\"captcha\"]').value = value || \"\";\n }\n if (widgetId && \"friendly_captcha\" !== challenge.provider) return setValue(), void globalForCaptchaProvider(challenge.provider).reset(widgetId);\n if (window.auth0FCInstance && \"friendly_captcha\" === challenge.provider) return setValue(), void window.auth0FCInstance.reset();\n switch (element.innerHTML = options.templates[challenge.provider](challenge), challenge.provider) {\n case \"recaptcha_enterprise\":\n case \"recaptcha_v2\":\n captchaClass = \".recaptcha\";\n break;\n case \"hcaptcha\":\n captchaClass = \".hcaptcha\";\n break;\n case \"friendly_captcha\":\n captchaClass = \".friendly-captcha\";\n }\n var captchaDiv = element.querySelector(captchaClass);\n injectCaptchaScript(0, {\n lang: options.lang,\n provider: challenge.provider\n }, function () {\n var global = globalForCaptchaProvider(challenge.provider);\n \"friendly_captcha\" === challenge.provider ? window.auth0FCInstance = new global.WidgetInstance(captchaDiv, {\n sitekey: challenge.siteKey,\n language: options.lang,\n doneCallback: function (solution) {\n setValue(solution);\n },\n errorCallback: function () {\n setValue();\n }\n }) : (widgetId = global.render(captchaDiv, {\n callback: setValue,\n \"expired-callback\": function () {\n setValue();\n },\n \"error-callback\": function () {\n setValue();\n },\n sitekey: challenge.siteKey\n }), element.setAttribute(\"data-wid\", widgetId));\n });\n}\nvar captcha = {\n render: function (auth0Client, element, options, callback) {\n function load(done) {\n done = done || noop, auth0Client.getChallenge(function (err, challenge) {\n return err ? (element.innerHTML = options.templates.error(err), done(err)) : challenge.required ? (element.style.display = \"\", \"auth0\" === challenge.provider ? handleAuth0Provider(element, options, challenge, load) : \"recaptcha_v2\" !== challenge.provider && \"recaptcha_enterprise\" !== challenge.provider && \"hcaptcha\" !== challenge.provider && \"friendly_captcha\" !== challenge.provider || handleCaptchaProvider(element, options, challenge), void done()) : (element.style.display = \"none\", void (element.innerHTML = \"\"));\n });\n }\n return options = objectHelper.merge(defaults$2).with(options || {}), load(callback), {\n reload: load,\n getValue: function () {\n var captchaInput = element.querySelector('input[name=\"captcha\"]');\n if (captchaInput) return captchaInput.value;\n }\n };\n },\n renderPasswordless: function (auth0Client, element, options, callback) {\n function load(done) {\n done = done || noop, auth0Client.passwordless.getChallenge(function (err, challenge) {\n return err ? (element.innerHTML = options.templates.error(err), done(err)) : challenge.required ? (element.style.display = \"\", \"auth0\" === challenge.provider ? handleAuth0Provider(element, options, challenge, load) : \"recaptcha_v2\" !== challenge.provider && \"recaptcha_enterprise\" !== challenge.provider && \"hcaptcha\" !== challenge.provider && \"friendly_captcha\" !== challenge.provider || handleCaptchaProvider(element, options, challenge), void done()) : (element.style.display = \"none\", void (element.innerHTML = \"\"));\n });\n }\n return options = objectHelper.merge(defaults$2).with(options || {}), load(callback), {\n reload: load,\n getValue: function () {\n var captchaInput = element.querySelector('input[name=\"captcha\"]');\n if (captchaInput) return captchaInput.value;\n }\n };\n }\n};\nfunction defaultClock() {\n return new Date();\n}\nfunction WebAuth(options) {\n assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n domain: {\n type: \"string\",\n message: \"domain option is required\"\n },\n clientID: {\n type: \"string\",\n message: \"clientID option is required\"\n },\n responseType: {\n optional: !0,\n type: \"string\",\n message: \"responseType is not valid\"\n },\n responseMode: {\n optional: !0,\n type: \"string\",\n message: \"responseMode is not valid\"\n },\n redirectUri: {\n optional: !0,\n type: \"string\",\n message: \"redirectUri is not valid\"\n },\n scope: {\n optional: !0,\n type: \"string\",\n message: \"scope is not valid\"\n },\n audience: {\n optional: !0,\n type: \"string\",\n message: \"audience is not valid\"\n },\n popupOrigin: {\n optional: !0,\n type: \"string\",\n message: \"popupOrigin is not valid\"\n },\n leeway: {\n optional: !0,\n type: \"number\",\n message: \"leeway is not valid\"\n },\n plugins: {\n optional: !0,\n type: \"array\",\n message: \"plugins is not valid\"\n },\n maxAge: {\n optional: !0,\n type: \"number\",\n message: \"maxAge is not valid\"\n },\n stateExpiration: {\n optional: !0,\n type: \"number\",\n message: \"stateExpiration is not valid\"\n },\n legacySameSiteCookie: {\n optional: !0,\n type: \"boolean\",\n message: \"legacySameSiteCookie option is not valid\"\n },\n _disableDeprecationWarnings: {\n optional: !0,\n type: \"boolean\",\n message: \"_disableDeprecationWarnings option is not valid\"\n },\n _sendTelemetry: {\n optional: !0,\n type: \"boolean\",\n message: \"_sendTelemetry option is not valid\"\n },\n _telemetryInfo: {\n optional: !0,\n type: \"object\",\n message: \"_telemetryInfo option is not valid\"\n },\n _timesToRetryFailedRequests: {\n optional: !0,\n type: \"number\",\n message: \"_timesToRetryFailedRequests option is not valid\"\n }\n }), options.overrides && assert.check(options.overrides, {\n type: \"object\",\n message: \"overrides option is not valid\"\n }, {\n __tenant: {\n optional: !0,\n type: \"string\",\n message: \"__tenant option is required\"\n },\n __token_issuer: {\n optional: !0,\n type: \"string\",\n message: \"__token_issuer option is required\"\n },\n __jwks_uri: {\n optional: !0,\n type: \"string\",\n message: \"__jwks_uri is required\"\n }\n }), this.baseOptions = options, this.baseOptions.plugins = new PluginHandler(this, this.baseOptions.plugins || []), this.baseOptions._sendTelemetry = !1 !== this.baseOptions._sendTelemetry || this.baseOptions._sendTelemetry, this.baseOptions._timesToRetryFailedRequests = options._timesToRetryFailedRequests ? parseInt(options._timesToRetryFailedRequests) : 0, this.baseOptions.tenant = this.baseOptions.overrides && this.baseOptions.overrides.__tenant || this.baseOptions.domain.split(\".\")[0], this.baseOptions.token_issuer = this.baseOptions.overrides && this.baseOptions.overrides.__token_issuer || \"https://\" + this.baseOptions.domain + \"/\", this.baseOptions.jwksURI = this.baseOptions.overrides && this.baseOptions.overrides.__jwks_uri, !1 !== options.legacySameSiteCookie && (this.baseOptions.legacySameSiteCookie = !0), this.transactionManager = new TransactionManager(this.baseOptions), this.client = new Authentication(this.baseOptions), this.redirect = new Redirect(this, this.baseOptions), this.popup = new Popup(this, this.baseOptions), this.crossOriginAuthentication = new CrossOriginAuthentication(this, this.baseOptions), this.webMessageHandler = new WebMessageHandler(this), this._universalLogin = new HostedPages(this, this.baseOptions), this.ssodataStorage = new SSODataStorage(this.baseOptions);\n}\nfunction PasswordlessAuthentication(request, options) {\n this.baseOptions = options, this.request = request;\n}\nfunction DBConnection(request, options) {\n this.baseOptions = options, this.request = request;\n}\nfunction Authentication(auth0, options) {\n 2 === arguments.length ? this.auth0 = auth0 : options = auth0, assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n domain: {\n type: \"string\",\n message: \"domain option is required\"\n },\n clientID: {\n type: \"string\",\n message: \"clientID option is required\"\n },\n responseType: {\n optional: !0,\n type: \"string\",\n message: \"responseType is not valid\"\n },\n responseMode: {\n optional: !0,\n type: \"string\",\n message: \"responseMode is not valid\"\n },\n redirectUri: {\n optional: !0,\n type: \"string\",\n message: \"redirectUri is not valid\"\n },\n scope: {\n optional: !0,\n type: \"string\",\n message: \"scope is not valid\"\n },\n audience: {\n optional: !0,\n type: \"string\",\n message: \"audience is not valid\"\n },\n _disableDeprecationWarnings: {\n optional: !0,\n type: \"boolean\",\n message: \"_disableDeprecationWarnings option is not valid\"\n },\n _sendTelemetry: {\n optional: !0,\n type: \"boolean\",\n message: \"_sendTelemetry option is not valid\"\n },\n _telemetryInfo: {\n optional: !0,\n type: \"object\",\n message: \"_telemetryInfo option is not valid\"\n }\n }), this.baseOptions = options, this.baseOptions._sendTelemetry = !1 !== this.baseOptions._sendTelemetry || this.baseOptions._sendTelemetry, this.baseOptions.rootUrl = this.baseOptions.domain && 0 === this.baseOptions.domain.toLowerCase().indexOf(\"http\") ? this.baseOptions.domain : \"https://\" + this.baseOptions.domain, this.request = new RequestBuilder(this.baseOptions), this.passwordless = new PasswordlessAuthentication(this.request, this.baseOptions), this.dbConnection = new DBConnection(this.request, this.baseOptions), this.warn = new Warn({\n disableWarnings: !!options._disableDeprecationWarnings\n }), this.ssodataStorage = new SSODataStorage(this.baseOptions);\n}\nfunction Management(options) {\n assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n domain: {\n type: \"string\",\n message: \"domain option is required\"\n },\n token: {\n type: \"string\",\n message: \"token option is required\"\n },\n _sendTelemetry: {\n optional: !0,\n type: \"boolean\",\n message: \"_sendTelemetry option is not valid\"\n },\n _telemetryInfo: {\n optional: !0,\n type: \"object\",\n message: \"_telemetryInfo option is not valid\"\n }\n }), this.baseOptions = options, this.baseOptions.headers = {\n Authorization: \"Bearer \" + this.baseOptions.token\n }, this.request = new RequestBuilder(this.baseOptions), this.baseOptions.rootUrl = urlJoin(\"https://\" + this.baseOptions.domain, \"api\", \"v2\");\n}\nWebAuth.prototype.parseHash = function (options, cb) {\n var parsedQs, err;\n cb || \"function\" != typeof options ? options = options || {} : (cb = options, options = {});\n var hashStr = void 0 === options.hash ? windowHelper.getWindow().location.hash : options.hash;\n if (hashStr = hashStr.replace(/^#?\\/?/, \"\"), (parsedQs = lib.parse(hashStr)).hasOwnProperty(\"error\")) return err = error.buildResponse(parsedQs.error, parsedQs.error_description), parsedQs.state && (err.state = parsedQs.state), cb(err);\n if (!parsedQs.hasOwnProperty(\"access_token\") && !parsedQs.hasOwnProperty(\"id_token\") && !parsedQs.hasOwnProperty(\"refresh_token\")) return cb(null, null);\n var responseTypes = (this.baseOptions.responseType || options.responseType || \"\").split(\" \");\n return responseTypes.length > 0 && -1 !== responseTypes.indexOf(\"token\") && !parsedQs.hasOwnProperty(\"access_token\") ? cb(error.buildResponse(\"invalid_hash\", \"response_type contains `token`, but the parsed hash does not contain an `access_token` property\")) : responseTypes.length > 0 && -1 !== responseTypes.indexOf(\"id_token\") && !parsedQs.hasOwnProperty(\"id_token\") ? cb(error.buildResponse(\"invalid_hash\", \"response_type contains `id_token`, but the parsed hash does not contain an `id_token` property\")) : this.validateAuthenticationResponse(options, parsedQs, cb);\n}, WebAuth.prototype.validateAuthenticationResponse = function (options, parsedHash, cb) {\n var _this = this;\n options.__enableIdPInitiatedLogin = options.__enableIdPInitiatedLogin || options.__enableImpersonation;\n var state = parsedHash.state,\n transaction = this.transactionManager.getStoredTransaction(state),\n transactionState = options.state || transaction && transaction.state || null,\n transactionStateMatchesState = transactionState === state;\n if (!(!state && !transactionState && options.__enableIdPInitiatedLogin) && !transactionStateMatchesState) return cb({\n error: \"invalid_token\",\n errorDescription: \"`state` does not match.\"\n });\n var transactionNonce = options.nonce || transaction && transaction.nonce || null,\n transactionOrganization = transaction && transaction.organization,\n appState = options.state || transaction && transaction.appState || null,\n callback = function (err, payload) {\n if (err) return cb(err);\n var sub;\n transaction && transaction.lastUsedConnection && (payload && (sub = payload.sub), _this.ssodataStorage.set(transaction.lastUsedConnection, sub));\n return cb(null, function (qsParams, appState, token) {\n return {\n accessToken: qsParams.access_token || null,\n idToken: qsParams.id_token || null,\n idTokenPayload: token || null,\n appState: appState || null,\n refreshToken: qsParams.refresh_token || null,\n state: qsParams.state || null,\n expiresIn: qsParams.expires_in ? parseInt(qsParams.expires_in, 10) : null,\n tokenType: qsParams.token_type || null,\n scope: qsParams.scope || null\n };\n }(parsedHash, appState, payload));\n };\n return parsedHash.id_token ? this.validateToken(parsedHash.id_token, transactionNonce, function (validationError, payload) {\n if (!validationError) {\n if (transactionOrganization) if (0 === transactionOrganization.indexOf(\"org_\")) {\n if (!payload.org_id) return callback(error.invalidToken(\"Organization Id (org_id) claim must be a string present in the ID token\"));\n if (payload.org_id !== transactionOrganization) return callback(error.invalidToken('Organization Id (org_id) claim value mismatch in the ID token; expected \"' + transactionOrganization + '\", found \"' + payload.org_id + '\"'));\n } else {\n if (!payload.org_name) return callback(error.invalidToken(\"Organization Name (org_name) claim must be a string present in the ID token\"));\n if (payload.org_name !== transactionOrganization.toLowerCase()) return callback(error.invalidToken('Organization Name (org_name) claim value mismatch in the ID token; expected \"' + transactionOrganization + '\", found \"' + payload.org_name + '\"'));\n }\n return parsedHash.access_token && payload.at_hash ? new M().validateAccessToken(parsedHash.access_token, \"RS256\", payload.at_hash, function (err) {\n return err ? callback(error.invalidToken(err.message)) : callback(null, payload);\n }) : callback(null, payload);\n }\n if (\"invalid_token\" !== validationError.error || validationError.errorDescription && validationError.errorDescription.indexOf(\"Nonce (nonce) claim value mismatch in the ID token\") > -1) return callback(validationError);\n var decodedToken = new M().decode(parsedHash.id_token);\n if (\"HS256\" !== decodedToken.header.alg) return callback(validationError);\n if ((decodedToken.payload.nonce || null) !== transactionNonce) return callback({\n error: \"invalid_token\",\n errorDescription: 'Nonce (nonce) claim value mismatch in the ID token; expected \"' + transactionNonce + '\", found \"' + decodedToken.payload.nonce + '\"'\n });\n if (!parsedHash.access_token) {\n return callback({\n error: \"invalid_token\",\n description: \"The id_token cannot be validated because it was signed with the HS256 algorithm and public clients (like a browser) can’t store secrets. Please read the associated doc for possible ways to fix this. Read more: https://auth0.com/docs/errors/libraries/auth0-js/invalid-token#parsing-an-hs256-signed-id-token-without-an-access-token\"\n });\n }\n return _this.client.userInfo(parsedHash.access_token, function (errUserInfo, profile) {\n return errUserInfo ? callback(errUserInfo) : callback(null, profile);\n });\n }) : callback(null, null);\n}, WebAuth.prototype.validateToken = function (token, nonce, cb) {\n new M({\n issuer: this.baseOptions.token_issuer,\n jwksURI: this.baseOptions.jwksURI,\n audience: this.baseOptions.clientID,\n leeway: this.baseOptions.leeway || 60,\n maxAge: this.baseOptions.maxAge,\n __clock: this.baseOptions.__clock || defaultClock\n }).verify(token, nonce, function (err, payload) {\n if (err) return cb(error.invalidToken(err.message));\n cb(null, payload);\n });\n}, WebAuth.prototype.renewAuth = function (options, cb) {\n var usePostMessage = !!options.usePostMessage,\n postMessageDataType = options.postMessageDataType || !1,\n postMessageOrigin = options.postMessageOrigin || windowHelper.getWindow().origin,\n timeout = options.timeout,\n _this = this,\n params = objectHelper.merge(this.baseOptions, [\"clientID\", \"redirectUri\", \"responseType\", \"scope\", \"audience\", \"_csrf\", \"state\", \"_intstate\", \"nonce\"]).with(options);\n params.responseType = params.responseType || \"token\", params.responseMode = params.responseMode || \"fragment\", params = this.transactionManager.process(params), assert.check(params, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), params.prompt = \"none\", params = objectHelper.blacklist(params, [\"usePostMessage\", \"tenant\", \"postMessageDataType\", \"postMessageOrigin\"]), SilentAuthenticationHandler.create({\n authenticationUrl: this.client.buildAuthorizeUrl(params),\n postMessageDataType: postMessageDataType,\n postMessageOrigin: postMessageOrigin,\n timeout: timeout\n }).login(usePostMessage, function (err, hash) {\n if (\"object\" == typeof hash) return cb(err, hash);\n _this.parseHash({\n hash: hash\n }, cb);\n });\n}, WebAuth.prototype.checkSession = function (options, cb) {\n var params = objectHelper.merge(this.baseOptions, [\"clientID\", \"responseType\", \"redirectUri\", \"scope\", \"audience\", \"_csrf\", \"state\", \"_intstate\", \"nonce\"]).with(options);\n return \"code\" === params.responseType ? cb({\n error: \"error\",\n error_description: \"responseType can't be `code`\"\n }) : (options.nonce || (params = this.transactionManager.process(params)), params.redirectUri ? (assert.check(params, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), params = objectHelper.blacklist(params, [\"usePostMessage\", \"tenant\", \"postMessageDataType\"]), void this.webMessageHandler.run(params, wrapCallback(cb, {\n forceLegacyError: !0,\n ignoreCasing: !0\n }))) : cb({\n error: \"error\",\n error_description: \"redirectUri can't be empty\"\n }));\n}, WebAuth.prototype.changePassword = function (options, cb) {\n return this.client.dbConnection.changePassword(options, cb);\n}, WebAuth.prototype.passwordlessStart = function (options, cb) {\n var authParams = objectHelper.merge(this.baseOptions, [\"responseType\", \"responseMode\", \"redirectUri\", \"scope\", \"audience\", \"_csrf\", \"state\", \"_intstate\", \"nonce\"]).with(options.authParams);\n return options.authParams = this.transactionManager.process(authParams), this.client.passwordless.start(options, cb);\n}, WebAuth.prototype.signup = function (options, cb) {\n return this.client.dbConnection.signup(options, cb);\n}, WebAuth.prototype.authorize = function (options) {\n var params = objectHelper.merge(this.baseOptions, [\"clientID\", \"responseType\", \"responseMode\", \"redirectUri\", \"scope\", \"audience\", \"_csrf\", \"state\", \"_intstate\", \"nonce\", \"organization\", \"invitation\"]).with(options);\n assert.check(params, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n responseType: {\n type: \"string\",\n message: \"responseType option is required\"\n }\n }), (params = this.transactionManager.process(params)).scope = params.scope || \"openid profile email\", windowHelper.redirect(this.client.buildAuthorizeUrl(params));\n}, WebAuth.prototype.signupAndAuthorize = function (options, cb) {\n var _this = this;\n return this.client.dbConnection.signup(objectHelper.blacklist(options, [\"popupHandler\"]), function (err) {\n if (err) return cb(err);\n options.realm = options.connection, options.username || (options.username = options.email), _this.client.login(options, cb);\n });\n}, WebAuth.prototype.login = function (options, cb) {\n var params = objectHelper.merge(this.baseOptions, [\"clientID\", \"responseType\", \"redirectUri\", \"scope\", \"audience\", \"_csrf\", \"state\", \"_intstate\", \"nonce\", \"onRedirecting\", \"organization\", \"invitation\"]).with(options);\n params = this.transactionManager.process(params), windowHelper.getWindow().location.host === this.baseOptions.domain ? (params.connection = params.realm, delete params.realm, this._universalLogin.login(params, cb)) : this.crossOriginAuthentication.login(params, cb);\n}, WebAuth.prototype.passwordlessLogin = function (options, cb) {\n var params = objectHelper.merge(this.baseOptions, [\"clientID\", \"responseType\", \"redirectUri\", \"scope\", \"audience\", \"_csrf\", \"state\", \"_intstate\", \"nonce\", \"onRedirecting\"]).with(options);\n if (params = this.transactionManager.process(params), windowHelper.getWindow().location.host === this.baseOptions.domain) this.passwordlessVerify(params, cb);else {\n var crossOriginOptions = objectHelper.extend({\n credentialType: \"http://auth0.com/oauth/grant-type/passwordless/otp\",\n realm: params.connection,\n username: params.email || params.phoneNumber,\n otp: params.verificationCode\n }, objectHelper.blacklist(params, [\"connection\", \"email\", \"phoneNumber\", \"verificationCode\"]));\n this.crossOriginAuthentication.login(crossOriginOptions, cb);\n }\n}, WebAuth.prototype.crossOriginAuthenticationCallback = function () {\n this.crossOriginVerification();\n}, WebAuth.prototype.crossOriginVerification = function () {\n this.crossOriginAuthentication.callback();\n}, WebAuth.prototype.logout = function (options) {\n windowHelper.redirect(this.client.buildLogoutUrl(options));\n}, WebAuth.prototype.passwordlessVerify = function (options, cb) {\n var _this = this,\n params = objectHelper.merge(this.baseOptions, [\"clientID\", \"responseType\", \"responseMode\", \"redirectUri\", \"scope\", \"audience\", \"_csrf\", \"state\", \"_intstate\", \"nonce\", \"onRedirecting\"]).with(options);\n return assert.check(params, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n responseType: {\n type: \"string\",\n message: \"responseType option is required\"\n }\n }), params = this.transactionManager.process(params), this.client.passwordless.verify(params, function (err) {\n if (err) return cb(err);\n function doAuth() {\n windowHelper.redirect(_this.client.passwordless.buildVerifyUrl(params));\n }\n if (\"function\" == typeof options.onRedirecting) return options.onRedirecting(function () {\n doAuth();\n });\n doAuth();\n });\n}, WebAuth.prototype.renderCaptcha = function (element, options, callback) {\n return captcha.render(this.client, element, options, callback);\n}, WebAuth.prototype.renderPasswordlessCaptcha = function (element, options, callback) {\n return captcha.renderPasswordless(this.client, element, options, callback);\n}, PasswordlessAuthentication.prototype.buildVerifyUrl = function (options) {\n var params, qString;\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n connection: {\n type: \"string\",\n message: \"connection option is required\"\n },\n verificationCode: {\n type: \"string\",\n message: \"verificationCode option is required\"\n },\n phoneNumber: {\n optional: !1,\n type: \"string\",\n message: \"phoneNumber option is required\",\n condition: function (o) {\n return !o.email;\n }\n },\n email: {\n optional: !1,\n type: \"string\",\n message: \"email option is required\",\n condition: function (o) {\n return !o.phoneNumber;\n }\n }\n }), params = objectHelper.merge(this.baseOptions, [\"clientID\", \"responseType\", \"responseMode\", \"redirectUri\", \"scope\", \"audience\", \"_csrf\", \"state\", \"_intstate\", \"protocol\", \"nonce\"]).with(options), this.baseOptions._sendTelemetry && (params.auth0Client = this.request.getTelemetryData()), params = objectHelper.toSnakeCase(params, [\"auth0Client\"]), qString = lib.stringify(params), urlJoin(this.baseOptions.rootUrl, \"passwordless\", \"verify_redirect\", \"?\" + qString);\n}, PasswordlessAuthentication.prototype.start = function (options, cb) {\n var url, body;\n assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n connection: {\n type: \"string\",\n message: \"connection option is required\"\n },\n send: {\n type: \"string\",\n message: \"send option is required\",\n values: [\"link\", \"code\"],\n value_message: \"send is not valid ([link, code])\"\n },\n phoneNumber: {\n optional: !0,\n type: \"string\",\n message: \"phoneNumber option is required\",\n condition: function (o) {\n return \"code\" === o.send || !o.email;\n }\n },\n email: {\n optional: !0,\n type: \"string\",\n message: \"email option is required\",\n condition: function (o) {\n return \"link\" === o.send || !o.phoneNumber;\n }\n },\n authParams: {\n optional: !0,\n type: \"object\",\n message: \"authParams option is required\"\n }\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"passwordless\", \"start\");\n var xRequestLanguage = options.xRequestLanguage;\n delete options.xRequestLanguage, (body = objectHelper.merge(this.baseOptions, [\"clientID\", \"responseType\", \"redirectUri\", \"scope\"]).with(options)).scope && (body.authParams = body.authParams || {}, body.authParams.scope = body.authParams.scope || body.scope), body.redirectUri && (body.authParams = body.authParams || {}, body.authParams.redirect_uri = body.authParams.redirectUri || body.redirectUri), body.responseType && (body.authParams = body.authParams || {}, body.authParams.response_type = body.authParams.responseType || body.responseType), delete body.redirectUri, delete body.responseType, delete body.scope, body = objectHelper.toSnakeCase(body, [\"auth0Client\", \"authParams\"]);\n var postOptions = xRequestLanguage ? {\n xRequestLanguage: xRequestLanguage\n } : void 0;\n return this.request.post(url, postOptions).send(body).end(wrapCallback(cb));\n}, PasswordlessAuthentication.prototype.verify = function (options, cb) {\n var url, cleanOption;\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n connection: {\n type: \"string\",\n message: \"connection option is required\"\n },\n verificationCode: {\n type: \"string\",\n message: \"verificationCode option is required\"\n },\n phoneNumber: {\n optional: !1,\n type: \"string\",\n message: \"phoneNumber option is required\",\n condition: function (o) {\n return !o.email;\n }\n },\n email: {\n optional: !1,\n type: \"string\",\n message: \"email option is required\",\n condition: function (o) {\n return !o.phoneNumber;\n }\n }\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), cleanOption = objectHelper.pick(options, [\"connection\", \"verificationCode\", \"phoneNumber\", \"email\", \"auth0Client\", \"clientID\"]), cleanOption = objectHelper.toSnakeCase(cleanOption, [\"auth0Client\"]), url = urlJoin(this.baseOptions.rootUrl, \"passwordless\", \"verify\"), this.request.post(url).send(cleanOption).end(wrapCallback(cb));\n}, PasswordlessAuthentication.prototype.getChallenge = function (cb) {\n if (assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), !this.baseOptions.state) return cb();\n var url = urlJoin(this.baseOptions.rootUrl, \"passwordless\", \"challenge\");\n return this.request.post(url).send({\n state: this.baseOptions.state\n }).end(wrapCallback(cb, {\n ignoreCasing: !0\n }));\n}, DBConnection.prototype.signup = function (options, cb) {\n var url, body, metadata;\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n connection: {\n type: \"string\",\n message: \"connection option is required\"\n },\n email: {\n type: \"string\",\n message: \"email option is required\"\n },\n password: {\n type: \"string\",\n message: \"password option is required\"\n }\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"dbconnections\", \"signup\"), metadata = (body = objectHelper.merge(this.baseOptions, [\"clientID\", \"state\"]).with(options)).user_metadata || body.userMetadata, body = objectHelper.blacklist(body, [\"scope\", \"userMetadata\", \"user_metadata\"]), body = objectHelper.toSnakeCase(body, [\"auth0Client\"]), metadata && (body.user_metadata = metadata), this.request.post(url).send(body).end(wrapCallback(cb));\n}, DBConnection.prototype.changePassword = function (options, cb) {\n var url, body;\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n connection: {\n type: \"string\",\n message: \"connection option is required\"\n },\n email: {\n type: \"string\",\n message: \"email option is required\"\n }\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"dbconnections\", \"change_password\"), body = objectHelper.merge(this.baseOptions, [\"clientID\"]).with(options, [\"email\", \"connection\"]), body = objectHelper.toSnakeCase(body, [\"auth0Client\"]), this.request.post(url).send(body).end(wrapCallback(cb));\n}, Authentication.prototype.buildAuthorizeUrl = function (options) {\n var params, qString;\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }), params = objectHelper.merge(this.baseOptions, [\"clientID\", \"responseType\", \"responseMode\", \"redirectUri\", \"scope\", \"audience\"]).with(options), assert.check(params, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n clientID: {\n type: \"string\",\n message: \"clientID option is required\"\n },\n redirectUri: {\n optional: !0,\n type: \"string\",\n message: \"redirectUri option is required\"\n },\n responseType: {\n type: \"string\",\n message: \"responseType option is required\"\n },\n nonce: {\n type: \"string\",\n message: \"nonce option is required\",\n condition: function (o) {\n return -1 === o.responseType.indexOf(\"code\") && -1 !== o.responseType.indexOf(\"id_token\");\n }\n },\n scope: {\n optional: !0,\n type: \"string\",\n message: \"scope option is required\"\n },\n audience: {\n optional: !0,\n type: \"string\",\n message: \"audience option is required\"\n }\n }), this.baseOptions._sendTelemetry && (params.auth0Client = this.request.getTelemetryData()), params.connection_scope && assert.isArray(params.connection_scope) && (params.connection_scope = params.connection_scope.join(\",\")), params = objectHelper.blacklist(params, [\"username\", \"popupOptions\", \"domain\", \"tenant\", \"timeout\", \"appState\"]), params = objectHelper.toSnakeCase(params, [\"auth0Client\"]), params = parametersWhitelist.oauthAuthorizeParams(this.warn, params), qString = lib.stringify(params), urlJoin(this.baseOptions.rootUrl, \"authorize\", \"?\" + qString);\n}, Authentication.prototype.buildLogoutUrl = function (options) {\n var params, qString;\n return assert.check(options, {\n optional: !0,\n type: \"object\",\n message: \"options parameter is not valid\"\n }), params = objectHelper.merge(this.baseOptions, [\"clientID\"]).with(options || {}), this.baseOptions._sendTelemetry && (params.auth0Client = this.request.getTelemetryData()), params = objectHelper.toSnakeCase(params, [\"auth0Client\", \"returnTo\"]), qString = lib.stringify(objectHelper.blacklist(params, [\"federated\"])), options && void 0 !== options.federated && !1 !== options.federated && \"false\" !== options.federated && (qString += \"&federated\"), urlJoin(this.baseOptions.rootUrl, \"v2\", \"logout\", \"?\" + qString);\n}, Authentication.prototype.loginWithDefaultDirectory = function (options, cb) {\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n username: {\n type: \"string\",\n message: \"username option is required\"\n },\n password: {\n type: \"string\",\n message: \"password option is required\"\n },\n scope: {\n optional: !0,\n type: \"string\",\n message: \"scope option is required\"\n },\n audience: {\n optional: !0,\n type: \"string\",\n message: \"audience option is required\"\n }\n }), options.grantType = \"password\", this.oauthToken(options, cb);\n}, Authentication.prototype.login = function (options, cb) {\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n username: {\n type: \"string\",\n message: \"username option is required\"\n },\n password: {\n type: \"string\",\n message: \"password option is required\"\n },\n realm: {\n type: \"string\",\n message: \"realm option is required\"\n },\n scope: {\n optional: !0,\n type: \"string\",\n message: \"scope option is required\"\n },\n audience: {\n optional: !0,\n type: \"string\",\n message: \"audience option is required\"\n }\n }), options.grantType = \"http://auth0.com/oauth/grant-type/password-realm\", this.oauthToken(options, cb);\n}, Authentication.prototype.oauthToken = function (options, cb) {\n var url, body;\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"oauth\", \"token\"), body = objectHelper.merge(this.baseOptions, [\"clientID\", \"scope\", \"audience\"]).with(options), assert.check(body, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n clientID: {\n type: \"string\",\n message: \"clientID option is required\"\n },\n grantType: {\n type: \"string\",\n message: \"grantType option is required\"\n },\n scope: {\n optional: !0,\n type: \"string\",\n message: \"scope option is required\"\n },\n audience: {\n optional: !0,\n type: \"string\",\n message: \"audience option is required\"\n }\n }), body = objectHelper.toSnakeCase(body, [\"auth0Client\"]), body = parametersWhitelist.oauthTokenParams(this.warn, body), this.request.post(url).send(body).end(wrapCallback(cb));\n}, Authentication.prototype.loginWithResourceOwner = function (options, cb) {\n var url, body;\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n username: {\n type: \"string\",\n message: \"username option is required\"\n },\n password: {\n type: \"string\",\n message: \"password option is required\"\n },\n connection: {\n type: \"string\",\n message: \"connection option is required\"\n },\n scope: {\n optional: !0,\n type: \"string\",\n message: \"scope option is required\"\n }\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"oauth\", \"ro\"), body = objectHelper.merge(this.baseOptions, [\"clientID\", \"scope\"]).with(options, [\"username\", \"password\", \"scope\", \"connection\", \"device\"]), (body = objectHelper.toSnakeCase(body, [\"auth0Client\"])).grant_type = body.grant_type || \"password\", this.request.post(url).send(body).end(wrapCallback(cb));\n}, Authentication.prototype.getSSOData = function (withActiveDirectories, cb) {\n if (this.auth0 || (this.auth0 = new WebAuth(this.baseOptions)), windowHelper.getWindow().location.host === this.baseOptions.domain) return this.auth0._universalLogin.getSSOData(withActiveDirectories, cb);\n \"function\" == typeof withActiveDirectories && (cb = withActiveDirectories), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n });\n var clientId = this.baseOptions.clientID,\n ssodataInformation = this.ssodataStorage.get() || {};\n this.auth0.checkSession({\n responseType: \"token id_token\",\n scope: \"openid profile email\",\n connection: ssodataInformation.lastUsedConnection,\n timeout: 5e3\n }, function (err, result) {\n return err ? \"login_required\" === err.error ? cb(null, {\n sso: !1\n }) : (\"consent_required\" === err.error && (err.error_description = \"Consent required. When using `getSSOData`, the user has to be authenticated with the following scope: `openid profile email`.\"), cb(err, {\n sso: !1\n })) : ssodataInformation.lastUsedSub && ssodataInformation.lastUsedSub !== result.idTokenPayload.sub ? cb(err, {\n sso: !1\n }) : cb(null, {\n lastUsedConnection: {\n name: ssodataInformation.lastUsedConnection\n },\n lastUsedUserID: result.idTokenPayload.sub,\n lastUsedUsername: result.idTokenPayload.email || result.idTokenPayload.name,\n lastUsedClientID: clientId,\n sessionClients: [clientId],\n sso: !0\n });\n });\n}, Authentication.prototype.userInfo = function (accessToken, cb) {\n var url;\n return assert.check(accessToken, {\n type: \"string\",\n message: \"accessToken parameter is not valid\"\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"userinfo\"), this.request.get(url).set(\"Authorization\", \"Bearer \" + accessToken).end(wrapCallback(cb, {\n ignoreCasing: !0\n }));\n}, Authentication.prototype.getChallenge = function (cb) {\n if (assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), !this.baseOptions.state) return cb();\n var url = urlJoin(this.baseOptions.rootUrl, \"usernamepassword\", \"challenge\");\n return this.request.post(url).send({\n state: this.baseOptions.state\n }).end(wrapCallback(cb, {\n ignoreCasing: !0\n }));\n}, Authentication.prototype.delegation = function (options, cb) {\n var url, body;\n return assert.check(options, {\n type: \"object\",\n message: \"options parameter is not valid\"\n }, {\n grant_type: {\n type: \"string\",\n message: \"grant_type option is required\"\n }\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"delegation\"), body = objectHelper.merge(this.baseOptions, [\"clientID\"]).with(options), body = objectHelper.toSnakeCase(body, [\"auth0Client\"]), this.request.post(url).send(body).end(wrapCallback(cb));\n}, Authentication.prototype.getUserCountry = function (cb) {\n var url;\n return assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"user\", \"geoloc\", \"country\"), this.request.get(url).end(wrapCallback(cb));\n}, Management.prototype.getUser = function (userId, cb) {\n var url;\n return assert.check(userId, {\n type: \"string\",\n message: \"userId parameter is not valid\"\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"users\", userId), this.request.get(url).end(wrapCallback(cb, {\n ignoreCasing: !0\n }));\n}, Management.prototype.patchUserMetadata = function (userId, userMetadata, cb) {\n var url;\n return assert.check(userId, {\n type: \"string\",\n message: \"userId parameter is not valid\"\n }), assert.check(userMetadata, {\n type: \"object\",\n message: \"userMetadata parameter is not valid\"\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"users\", userId), this.request.patch(url).send({\n user_metadata: userMetadata\n }).end(wrapCallback(cb, {\n ignoreCasing: !0\n }));\n}, Management.prototype.patchUserAttributes = function (userId, user, cb) {\n var url;\n return assert.check(userId, {\n type: \"string\",\n message: \"userId parameter is not valid\"\n }), assert.check(user, {\n type: \"object\",\n message: \"user parameter is not valid\"\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"users\", userId), this.request.patch(url).send(user).end(wrapCallback(cb, {\n ignoreCasing: !0\n }));\n}, Management.prototype.linkUser = function (userId, secondaryUserToken, cb) {\n var url;\n return assert.check(userId, {\n type: \"string\",\n message: \"userId parameter is not valid\"\n }), assert.check(secondaryUserToken, {\n type: \"string\",\n message: \"secondaryUserToken parameter is not valid\"\n }), assert.check(cb, {\n type: \"function\",\n message: \"cb parameter is not valid\"\n }), url = urlJoin(this.baseOptions.rootUrl, \"users\", userId, \"identities\"), this.request.post(url).send({\n link_with: secondaryUserToken\n }).end(wrapCallback(cb, {\n ignoreCasing: !0\n }));\n};\nvar index = {\n Authentication: Authentication,\n Management: Management,\n WebAuth: WebAuth,\n version: version\n};\nexport default index;\nexport { Authentication, Management, WebAuth, version };","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (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 (number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\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 (input) {\n return 'م' === input;\n },\n meridiem: function (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 (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\n var pluralForm = function (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 (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\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 (input) {\n return 'م' === input;\n },\n meridiem: function (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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\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 (input) {\n return 'م' === input;\n },\n meridiem: function (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 (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return 'م' === input;\n },\n meridiem: function (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 (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;\n(function (global, factory) {\n 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';\n\n //! moment.js locale configuration\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 (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (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 (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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 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 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 () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\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 (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (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 (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 case 'D':\n return number + '-га';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\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 (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত' && hour >= 4 || meridiem === 'দুপুর' && hour < 5 || meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'མཚན་མོ' && hour >= 4 || meridiem === 'ཉིན་གུང' && hour < 5 || meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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 default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\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 (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 (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n }\n });\n return br;\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 === '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';\n\n //! moment.js locale configuration\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\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 return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\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 return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\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 return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\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 return result;\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 return result;\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 () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\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 () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\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 (number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\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});","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;\n(function (global, factory) {\n 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';\n\n //! moment.js locale configuration\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 function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\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 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 case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\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 case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\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 case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\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 case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\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 case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\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 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 () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (number) {\n var b = number,\n output = '',\n lookup = ['', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed',\n // 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 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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return 'މފ' === input;\n },\n meridiem: function (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 (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n var el = moment.defineLocale('el', {\n monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months: function (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 (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (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 () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L'\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (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 () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\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});","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;\n(function (global, factory) {\n 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';\n\n //! moment.js locale configuration\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 var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (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 () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (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 () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (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 () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.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 (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (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 (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? isFuture ? numbersFuture[number] : numbersPast[number] : number;\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n return frCa;\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 === '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';\n\n //! moment.js locale configuration\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 (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\n // Words with feminine grammatical gender: semaine\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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 (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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 (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\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 return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\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 return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\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 return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\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 return result;\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 return result;\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 () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\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 () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\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 (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (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 () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\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 (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (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 (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 return number + '-րդ';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\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 return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 () {\n return '[Oggi a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextDay: function () {\n return '[Domani a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextWeek: function () {\n return 'dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastDay: function () {\n return '[Ieri a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[La scorsa] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 (input) {\n return input === '午後';\n },\n meridiem: function (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 (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 (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 (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\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 (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (number < 20 || number <= 100 && number % 20 === 0 || number % 100 === 0) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7\n }\n });\n return ka;\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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (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 (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n return ko;\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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (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 (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\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 function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\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 return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\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 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 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 () {\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 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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (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 (number) {\n return 'ທີ່' + number;\n }\n });\n return lo;\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 === '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';\n\n //! moment.js locale configuration\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 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 function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || number > 10 && number < 20;\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\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 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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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 function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (number, wordKey) {\n return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\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 () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\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 () {\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\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 (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'രാത്രി' && hour >= 4 || meridiem === 'ഉച്ച കഴിഞ്ഞ്' || meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\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 (input) {\n return input === 'ҮХ';\n },\n meridiem: function (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 (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n return mn;\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 === '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';\n\n //! moment.js locale configuration\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 function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\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 (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;\n(function (global, factory) {\n 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';\n\n //! moment.js locale configuration\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 (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n var pl = moment.defineLocale('pl', {\n months: function (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 () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n case 2:\n return '[We wtorek o] LT';\n case 3:\n return '[W środę o] LT';\n case 6:\n return '[W sobotę o] LT';\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\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});","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;\n(function (global, factory) {\n 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';\n\n //! moment.js locale configuration\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 () {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 () {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 if (number % 100 >= 20 || number >= 100 && number % 100 === 0) {\n separator = ' de ';\n }\n return number + separator + format[key];\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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 if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // 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 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 (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\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 (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\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 (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (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 (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\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 (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\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 (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n return si;\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 === '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';\n\n //! moment.js locale configuration\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 function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\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 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 case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\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 case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\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 case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\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 case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\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 case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\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 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 () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\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 return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\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 return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\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 return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\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 return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\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 return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\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 return result;\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 () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\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 () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\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 word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\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 () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\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 () {\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\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 () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (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 (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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\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 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 function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\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 if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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 (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 (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\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});","//! 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 === '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';\n\n //! moment.js locale configuration\n\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 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 (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (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 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 return tzl;\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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (hour, minute, isLower) {\n var hm = hour * 100 + minute;\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 (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 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 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 function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n },\n nounCase;\n if (m === true) {\n return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format) ? 'accusative' : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format) ? 'genitive' : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\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 () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\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 (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (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 (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\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 (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (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});","//! 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 === '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';\n\n //! moment.js locale configuration\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (hour, minute, isLower) {\n var hm = hour * 100 + minute;\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 (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (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 (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (hour, minute, isLower) {\n var hm = hour * 100 + minute;\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 (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (hour, minute, isLower) {\n var hm = hour * 100 + minute;\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 (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\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});","//! 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 === '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';\n\n //! moment.js locale configuration\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 (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\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 (hour, minute, isLower) {\n var hm = hour * 100 + minute;\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 (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\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});","'use strict';\n\n// this will inject Zepto in window, unfortunately no easy commonJS zepto build\nvar zepto = require('../../zepto.js');\n\n// setup DOM element\nvar DOM = require('../common/dom.js');\nDOM.element = zepto;\n\n// setup utils functions\nvar _ = require('../common/utils.js');\n_.isArray = zepto.isArray;\n_.isFunction = zepto.isFunction;\n_.isObject = zepto.isPlainObject;\n_.bind = zepto.proxy;\n_.each = function (collection, cb) {\n // stupid argument order for jQuery.each\n zepto.each(collection, reverseArgs);\n function reverseArgs(index, value) {\n return cb(value, index);\n }\n};\n_.map = zepto.map;\n_.mixin = zepto.extend;\n_.Event = zepto.Event;\nvar typeaheadKey = 'aaAutocomplete';\nvar Typeahead = require('../autocomplete/typeahead.js');\nvar EventBus = require('../autocomplete/event_bus.js');\nfunction autocomplete(selector, options, datasets, typeaheadObject) {\n datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 2);\n var inputs = zepto(selector).each(function (i, input) {\n var $input = zepto(input);\n var eventBus = new EventBus({\n el: $input\n });\n var typeahead = typeaheadObject || new Typeahead({\n input: $input,\n eventBus: eventBus,\n dropdownMenuContainer: options.dropdownMenuContainer,\n hint: options.hint === undefined ? true : !!options.hint,\n minLength: options.minLength,\n autoselect: options.autoselect,\n autoselectOnBlur: options.autoselectOnBlur,\n tabAutocomplete: options.tabAutocomplete,\n openOnFocus: options.openOnFocus,\n templates: options.templates,\n debug: options.debug,\n clearOnSelected: options.clearOnSelected,\n cssClasses: options.cssClasses,\n datasets: datasets,\n keyboardShortcuts: options.keyboardShortcuts,\n appendTo: options.appendTo,\n autoWidth: options.autoWidth,\n ariaLabel: options.ariaLabel || input.getAttribute('aria-label')\n });\n $input.data(typeaheadKey, typeahead);\n });\n\n // expose all methods in the `autocomplete` attribute\n inputs.autocomplete = {};\n _.each(['open', 'close', 'getVal', 'setVal', 'destroy', 'getWrapper'], function (method) {\n inputs.autocomplete[method] = function () {\n var methodArguments = arguments;\n var result;\n inputs.each(function (j, input) {\n var typeahead = zepto(input).data(typeaheadKey);\n result = typeahead[method].apply(typeahead, methodArguments);\n });\n return result;\n };\n });\n return inputs;\n}\nautocomplete.sources = Typeahead.sources;\nautocomplete.escapeHighlightedString = _.escapeHighlightedString;\nvar wasAutocompleteSet = ('autocomplete' in window);\nvar oldAutocomplete = window.autocomplete;\nautocomplete.noConflict = function noConflict() {\n if (wasAutocompleteSet) {\n window.autocomplete = oldAutocomplete;\n } else {\n delete window.autocomplete;\n }\n return autocomplete;\n};\nmodule.exports = autocomplete;","/* istanbul ignore next */\n/* Zepto v1.2.0 - zepto event assets data - zeptojs.com/license */\n(function (global, factory) {\n module.exports = factory(global);\n})( /* this ##### UPDATED: here we want to use window/global instead of this which is the current file context ##### */window, function (window) {\n var Zepto = function () {\n var undefined,\n key,\n $,\n classList,\n emptyArray = [],\n concat = emptyArray.concat,\n filter = emptyArray.filter,\n slice = emptyArray.slice,\n document = window.document,\n elementDisplay = {},\n classCache = {},\n cssNumber = {\n 'column-count': 1,\n 'columns': 1,\n 'font-weight': 1,\n 'line-height': 1,\n 'opacity': 1,\n 'z-index': 1,\n 'zoom': 1\n },\n fragmentRE = /^\\s*<(\\w+|!)[^>]*>/,\n singleTagRE = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,\n tagExpanderRE = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/ig,\n rootNodeRE = /^(?:body|html)$/i,\n capitalRE = /([A-Z])/g,\n // special attributes that should be get/set via method calls\n methodAttributes = ['val', 'css', 'html', 'text', 'data', 'width', 'height', 'offset'],\n adjacencyOperators = ['after', 'prepend', 'before', 'append'],\n table = document.createElement('table'),\n tableRow = document.createElement('tr'),\n containers = {\n 'tr': document.createElement('tbody'),\n 'tbody': table,\n 'thead': table,\n 'tfoot': table,\n 'td': tableRow,\n 'th': tableRow,\n '*': document.createElement('div')\n },\n readyRE = /complete|loaded|interactive/,\n simpleSelectorRE = /^[\\w-]*$/,\n class2type = {},\n toString = class2type.toString,\n zepto = {},\n camelize,\n uniq,\n tempParent = document.createElement('div'),\n propMap = {\n 'tabindex': 'tabIndex',\n 'readonly': 'readOnly',\n 'for': 'htmlFor',\n 'class': 'className',\n 'maxlength': 'maxLength',\n 'cellspacing': 'cellSpacing',\n 'cellpadding': 'cellPadding',\n 'rowspan': 'rowSpan',\n 'colspan': 'colSpan',\n 'usemap': 'useMap',\n 'frameborder': 'frameBorder',\n 'contenteditable': 'contentEditable'\n },\n isArray = Array.isArray || function (object) {\n return object instanceof Array;\n };\n zepto.matches = function (element, selector) {\n if (!selector || !element || element.nodeType !== 1) return false;\n var matchesSelector = element.matches || element.webkitMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.matchesSelector;\n if (matchesSelector) return matchesSelector.call(element, selector);\n // fall back to performing a selector:\n var match,\n parent = element.parentNode,\n temp = !parent;\n if (temp) (parent = tempParent).appendChild(element);\n match = ~zepto.qsa(parent, selector).indexOf(element);\n temp && tempParent.removeChild(element);\n return match;\n };\n function type(obj) {\n return obj == null ? String(obj) : class2type[toString.call(obj)] || \"object\";\n }\n function isFunction(value) {\n return type(value) == \"function\";\n }\n function isWindow(obj) {\n return obj != null && obj == obj.window;\n }\n function isDocument(obj) {\n return obj != null && obj.nodeType == obj.DOCUMENT_NODE;\n }\n function isObject(obj) {\n return type(obj) == \"object\";\n }\n function isPlainObject(obj) {\n return isObject(obj) && !isWindow(obj) && Object.getPrototypeOf(obj) == Object.prototype;\n }\n function likeArray(obj) {\n var length = !!obj && 'length' in obj && obj.length,\n type = $.type(obj);\n return 'function' != type && !isWindow(obj) && ('array' == type || length === 0 || typeof length == 'number' && length > 0 && length - 1 in obj);\n }\n function compact(array) {\n return filter.call(array, function (item) {\n return item != null;\n });\n }\n function flatten(array) {\n return array.length > 0 ? $.fn.concat.apply([], array) : array;\n }\n camelize = function (str) {\n return str.replace(/-+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n });\n };\n function dasherize(str) {\n return str.replace(/::/g, '/').replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2').replace(/([a-z\\d])([A-Z])/g, '$1_$2').replace(/_/g, '-').toLowerCase();\n }\n uniq = function (array) {\n return filter.call(array, function (item, idx) {\n return array.indexOf(item) == idx;\n });\n };\n function classRE(name) {\n return name in classCache ? classCache[name] : classCache[name] = new RegExp('(^|\\\\s)' + name + '(\\\\s|$)');\n }\n function maybeAddPx(name, value) {\n return typeof value == \"number\" && !cssNumber[dasherize(name)] ? value + \"px\" : value;\n }\n function defaultDisplay(nodeName) {\n var element, display;\n if (!elementDisplay[nodeName]) {\n element = document.createElement(nodeName);\n document.body.appendChild(element);\n display = getComputedStyle(element, '').getPropertyValue(\"display\");\n element.parentNode.removeChild(element);\n display == \"none\" && (display = \"block\");\n elementDisplay[nodeName] = display;\n }\n return elementDisplay[nodeName];\n }\n function children(element) {\n return 'children' in element ? slice.call(element.children) : $.map(element.childNodes, function (node) {\n if (node.nodeType == 1) return node;\n });\n }\n function Z(dom, selector) {\n var i,\n len = dom ? dom.length : 0;\n for (i = 0; i < len; i++) this[i] = dom[i];\n this.length = len;\n this.selector = selector || '';\n }\n\n // `$.zepto.fragment` takes a html string and an optional tag name\n // to generate DOM nodes from the given html string.\n // The generated DOM nodes are returned as an array.\n // This function can be overridden in plugins for example to make\n // it compatible with browsers that don't support the DOM fully.\n zepto.fragment = function (html, name, properties) {\n var dom, nodes, container;\n\n // A special case optimization for a single tag\n if (singleTagRE.test(html)) dom = $(document.createElement(RegExp.$1));\n if (!dom) {\n if (html.replace) html = html.replace(tagExpanderRE, \"<$1>\");\n if (name === undefined) name = fragmentRE.test(html) && RegExp.$1;\n if (!(name in containers)) name = '*';\n container = containers[name];\n container.innerHTML = '' + html;\n dom = $.each(slice.call(container.childNodes), function () {\n container.removeChild(this);\n });\n }\n if (isPlainObject(properties)) {\n nodes = $(dom);\n $.each(properties, function (key, value) {\n if (methodAttributes.indexOf(key) > -1) nodes[key](value);else nodes.attr(key, value);\n });\n }\n return dom;\n };\n\n // `$.zepto.Z` swaps out the prototype of the given `dom` array\n // of nodes with `$.fn` and thus supplying all the Zepto functions\n // to the array. This method can be overridden in plugins.\n zepto.Z = function (dom, selector) {\n return new Z(dom, selector);\n };\n\n // `$.zepto.isZ` should return `true` if the given object is a Zepto\n // collection. This method can be overridden in plugins.\n zepto.isZ = function (object) {\n return object instanceof zepto.Z;\n };\n\n // `$.zepto.init` is Zepto's counterpart to jQuery's `$.fn.init` and\n // takes a CSS selector and an optional context (and handles various\n // special cases).\n // This method can be overridden in plugins.\n zepto.init = function (selector, context) {\n var dom;\n // If nothing given, return an empty Zepto collection\n if (!selector) return zepto.Z();\n // Optimize for string selectors\n else if (typeof selector == 'string') {\n selector = selector.trim();\n // If it's a html fragment, create nodes from it\n // Note: In both Chrome 21 and Firefox 15, DOM error 12\n // is thrown if the fragment doesn't begin with <\n if (selector[0] == '<' && fragmentRE.test(selector)) dom = zepto.fragment(selector, RegExp.$1, context), selector = null;\n // If there's a context, create a collection on that context first, and select\n // nodes from there\n else if (context !== undefined) return $(context).find(selector);\n // If it's a CSS selector, use it to select nodes.\n else dom = zepto.qsa(document, selector);\n }\n // If a function is given, call it when the DOM is ready\n else if (isFunction(selector)) return $(document).ready(selector);\n // If a Zepto collection is given, just return it\n else if (zepto.isZ(selector)) return selector;else {\n // normalize array if an array of nodes is given\n if (isArray(selector)) dom = compact(selector);\n // Wrap DOM nodes.\n else if (isObject(selector)) dom = [selector], selector = null;\n // If it's a html fragment, create nodes from it\n else if (fragmentRE.test(selector)) dom = zepto.fragment(selector.trim(), RegExp.$1, context), selector = null;\n // If there's a context, create a collection on that context first, and select\n // nodes from there\n else if (context !== undefined) return $(context).find(selector);\n // And last but no least, if it's a CSS selector, use it to select nodes.\n else dom = zepto.qsa(document, selector);\n }\n // create a new Zepto collection from the nodes found\n return zepto.Z(dom, selector);\n };\n\n // `$` will be the base `Zepto` object. When calling this\n // function just call `$.zepto.init, which makes the implementation\n // details of selecting nodes and creating Zepto collections\n // patchable in plugins.\n $ = function (selector, context) {\n return zepto.init(selector, context);\n };\n function extend(target, source, deep) {\n for (key in source) if (deep && (isPlainObject(source[key]) || isArray(source[key]))) {\n if (isPlainObject(source[key]) && !isPlainObject(target[key])) target[key] = {};\n if (isArray(source[key]) && !isArray(target[key])) target[key] = [];\n extend(target[key], source[key], deep);\n } else if (source[key] !== undefined) target[key] = source[key];\n }\n\n // Copy all but undefined properties from one or more\n // objects to the `target` object.\n $.extend = function (target) {\n var deep,\n args = slice.call(arguments, 1);\n if (typeof target == 'boolean') {\n deep = target;\n target = args.shift();\n }\n args.forEach(function (arg) {\n extend(target, arg, deep);\n });\n return target;\n };\n\n // `$.zepto.qsa` is Zepto's CSS selector implementation which\n // uses `document.querySelectorAll` and optimizes for some special cases, like `#id`.\n // This method can be overridden in plugins.\n zepto.qsa = function (element, selector) {\n var found,\n maybeID = selector[0] == '#',\n maybeClass = !maybeID && selector[0] == '.',\n nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,\n // Ensure that a 1 char tag name still gets checked\n isSimple = simpleSelectorRE.test(nameOnly);\n return element.getElementById && isSimple && maybeID ?\n // Safari DocumentFragment doesn't have getElementById\n (found = element.getElementById(nameOnly)) ? [found] : [] : element.nodeType !== 1 && element.nodeType !== 9 && element.nodeType !== 11 ? [] : slice.call(isSimple && !maybeID && element.getElementsByClassName ?\n // DocumentFragment doesn't have getElementsByClassName/TagName\n maybeClass ? element.getElementsByClassName(nameOnly) :\n // If it's simple, it could be a class\n element.getElementsByTagName(selector) :\n // Or a tag\n element.querySelectorAll(selector) // Or it's not simple, and we need to query all\n );\n };\n\n function filtered(nodes, selector) {\n return selector == null ? $(nodes) : $(nodes).filter(selector);\n }\n $.contains = document.documentElement.contains ? function (parent, node) {\n return parent !== node && parent.contains(node);\n } : function (parent, node) {\n while (node && (node = node.parentNode)) if (node === parent) return true;\n return false;\n };\n function funcArg(context, arg, idx, payload) {\n return isFunction(arg) ? arg.call(context, idx, payload) : arg;\n }\n function setAttribute(node, name, value) {\n value == null ? node.removeAttribute(name) : node.setAttribute(name, value);\n }\n\n // access className property while respecting SVGAnimatedString\n function className(node, value) {\n var klass = node.className || '',\n svg = klass && klass.baseVal !== undefined;\n if (value === undefined) return svg ? klass.baseVal : klass;\n svg ? klass.baseVal = value : node.className = value;\n }\n\n // \"true\" => true\n // \"false\" => false\n // \"null\" => null\n // \"42\" => 42\n // \"42.5\" => 42.5\n // \"08\" => \"08\"\n // JSON => parse if valid\n // String => self\n function deserializeValue(value) {\n try {\n return value ? value == \"true\" || (value == \"false\" ? false : value == \"null\" ? null : +value + \"\" == value ? +value : /^[\\[\\{]/.test(value) ? $.parseJSON(value) : value) : value;\n } catch (e) {\n return value;\n }\n }\n $.type = type;\n $.isFunction = isFunction;\n $.isWindow = isWindow;\n $.isArray = isArray;\n $.isPlainObject = isPlainObject;\n $.isEmptyObject = function (obj) {\n var name;\n for (name in obj) return false;\n return true;\n };\n $.isNumeric = function (val) {\n var num = Number(val),\n type = typeof val;\n return val != null && type != 'boolean' && (type != 'string' || val.length) && !isNaN(num) && isFinite(num) || false;\n };\n $.inArray = function (elem, array, i) {\n return emptyArray.indexOf.call(array, elem, i);\n };\n $.camelCase = camelize;\n $.trim = function (str) {\n return str == null ? \"\" : String.prototype.trim.call(str);\n };\n\n // plugin compatibility\n $.uuid = 0;\n $.support = {};\n $.expr = {};\n $.noop = function () {};\n $.map = function (elements, callback) {\n var value,\n values = [],\n i,\n key;\n if (likeArray(elements)) for (i = 0; i < elements.length; i++) {\n value = callback(elements[i], i);\n if (value != null) values.push(value);\n } else for (key in elements) {\n value = callback(elements[key], key);\n if (value != null) values.push(value);\n }\n return flatten(values);\n };\n $.each = function (elements, callback) {\n var i, key;\n if (likeArray(elements)) {\n for (i = 0; i < elements.length; i++) if (callback.call(elements[i], i, elements[i]) === false) return elements;\n } else {\n for (key in elements) if (callback.call(elements[key], key, elements[key]) === false) return elements;\n }\n return elements;\n };\n $.grep = function (elements, callback) {\n return filter.call(elements, callback);\n };\n if (window.JSON) $.parseJSON = JSON.parse;\n\n // Populate the class2type map\n $.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"), function (i, name) {\n class2type[\"[object \" + name + \"]\"] = name.toLowerCase();\n });\n\n // Define methods that will be available on all\n // Zepto collections\n $.fn = {\n constructor: zepto.Z,\n length: 0,\n // Because a collection acts like an array\n // copy over these useful array functions.\n forEach: emptyArray.forEach,\n reduce: emptyArray.reduce,\n push: emptyArray.push,\n sort: emptyArray.sort,\n splice: emptyArray.splice,\n indexOf: emptyArray.indexOf,\n concat: function () {\n var i,\n value,\n args = [];\n for (i = 0; i < arguments.length; i++) {\n value = arguments[i];\n args[i] = zepto.isZ(value) ? value.toArray() : value;\n }\n return concat.apply(zepto.isZ(this) ? this.toArray() : this, args);\n },\n // `map` and `slice` in the jQuery API work differently\n // from their array counterparts\n map: function (fn) {\n return $($.map(this, function (el, i) {\n return fn.call(el, i, el);\n }));\n },\n slice: function () {\n return $(slice.apply(this, arguments));\n },\n ready: function (callback) {\n // need to check if document.body exists for IE as that browser reports\n // document ready when it hasn't yet created the body element\n if (readyRE.test(document.readyState) && document.body) callback($);else document.addEventListener('DOMContentLoaded', function () {\n callback($);\n }, false);\n return this;\n },\n get: function (idx) {\n return idx === undefined ? slice.call(this) : this[idx >= 0 ? idx : idx + this.length];\n },\n toArray: function () {\n return this.get();\n },\n size: function () {\n return this.length;\n },\n remove: function () {\n return this.each(function () {\n if (this.parentNode != null) this.parentNode.removeChild(this);\n });\n },\n each: function (callback) {\n emptyArray.every.call(this, function (el, idx) {\n return callback.call(el, idx, el) !== false;\n });\n return this;\n },\n filter: function (selector) {\n if (isFunction(selector)) return this.not(this.not(selector));\n return $(filter.call(this, function (element) {\n return zepto.matches(element, selector);\n }));\n },\n add: function (selector, context) {\n return $(uniq(this.concat($(selector, context))));\n },\n is: function (selector) {\n return this.length > 0 && zepto.matches(this[0], selector);\n },\n not: function (selector) {\n var nodes = [];\n if (isFunction(selector) && selector.call !== undefined) this.each(function (idx) {\n if (!selector.call(this, idx)) nodes.push(this);\n });else {\n var excludes = typeof selector == 'string' ? this.filter(selector) : likeArray(selector) && isFunction(selector.item) ? slice.call(selector) : $(selector);\n this.forEach(function (el) {\n if (excludes.indexOf(el) < 0) nodes.push(el);\n });\n }\n return $(nodes);\n },\n has: function (selector) {\n return this.filter(function () {\n return isObject(selector) ? $.contains(this, selector) : $(this).find(selector).size();\n });\n },\n eq: function (idx) {\n return idx === -1 ? this.slice(idx) : this.slice(idx, +idx + 1);\n },\n first: function () {\n var el = this[0];\n return el && !isObject(el) ? el : $(el);\n },\n last: function () {\n var el = this[this.length - 1];\n return el && !isObject(el) ? el : $(el);\n },\n find: function (selector) {\n var result,\n $this = this;\n if (!selector) result = $();else if (typeof selector == 'object') result = $(selector).filter(function () {\n var node = this;\n return emptyArray.some.call($this, function (parent) {\n return $.contains(parent, node);\n });\n });else if (this.length == 1) result = $(zepto.qsa(this[0], selector));else result = this.map(function () {\n return zepto.qsa(this, selector);\n });\n return result;\n },\n closest: function (selector, context) {\n var nodes = [],\n collection = typeof selector == 'object' && $(selector);\n this.each(function (_, node) {\n while (node && !(collection ? collection.indexOf(node) >= 0 : zepto.matches(node, selector))) node = node !== context && !isDocument(node) && node.parentNode;\n if (node && nodes.indexOf(node) < 0) nodes.push(node);\n });\n return $(nodes);\n },\n parents: function (selector) {\n var ancestors = [],\n nodes = this;\n while (nodes.length > 0) nodes = $.map(nodes, function (node) {\n if ((node = node.parentNode) && !isDocument(node) && ancestors.indexOf(node) < 0) {\n ancestors.push(node);\n return node;\n }\n });\n return filtered(ancestors, selector);\n },\n parent: function (selector) {\n return filtered(uniq(this.pluck('parentNode')), selector);\n },\n children: function (selector) {\n return filtered(this.map(function () {\n return children(this);\n }), selector);\n },\n contents: function () {\n return this.map(function () {\n return this.contentDocument || slice.call(this.childNodes);\n });\n },\n siblings: function (selector) {\n return filtered(this.map(function (i, el) {\n return filter.call(children(el.parentNode), function (child) {\n return child !== el;\n });\n }), selector);\n },\n empty: function () {\n return this.each(function () {\n this.innerHTML = '';\n });\n },\n // `pluck` is borrowed from Prototype.js\n pluck: function (property) {\n return $.map(this, function (el) {\n return el[property];\n });\n },\n show: function () {\n return this.each(function () {\n this.style.display == \"none\" && (this.style.display = '');\n if (getComputedStyle(this, '').getPropertyValue(\"display\") == \"none\") this.style.display = defaultDisplay(this.nodeName);\n });\n },\n replaceWith: function (newContent) {\n return this.before(newContent).remove();\n },\n wrap: function (structure) {\n var func = isFunction(structure);\n if (this[0] && !func) var dom = $(structure).get(0),\n clone = dom.parentNode || this.length > 1;\n return this.each(function (index) {\n $(this).wrapAll(func ? structure.call(this, index) : clone ? dom.cloneNode(true) : dom);\n });\n },\n wrapAll: function (structure) {\n if (this[0]) {\n $(this[0]).before(structure = $(structure));\n var children;\n // drill down to the inmost element\n while ((children = structure.children()).length) structure = children.first();\n $(structure).append(this);\n }\n return this;\n },\n wrapInner: function (structure) {\n var func = isFunction(structure);\n return this.each(function (index) {\n var self = $(this),\n contents = self.contents(),\n dom = func ? structure.call(this, index) : structure;\n contents.length ? contents.wrapAll(dom) : self.append(dom);\n });\n },\n unwrap: function () {\n this.parent().each(function () {\n $(this).replaceWith($(this).children());\n });\n return this;\n },\n clone: function () {\n return this.map(function () {\n return this.cloneNode(true);\n });\n },\n hide: function () {\n return this.css(\"display\", \"none\");\n },\n toggle: function (setting) {\n return this.each(function () {\n var el = $(this);\n (setting === undefined ? el.css(\"display\") == \"none\" : setting) ? el.show() : el.hide();\n });\n },\n prev: function (selector) {\n return $(this.pluck('previousElementSibling')).filter(selector || '*');\n },\n next: function (selector) {\n return $(this.pluck('nextElementSibling')).filter(selector || '*');\n },\n html: function (html) {\n return 0 in arguments ? this.each(function (idx) {\n var originHtml = this.innerHTML;\n $(this).empty().append(funcArg(this, html, idx, originHtml));\n }) : 0 in this ? this[0].innerHTML : null;\n },\n text: function (text) {\n return 0 in arguments ? this.each(function (idx) {\n var newText = funcArg(this, text, idx, this.textContent);\n this.textContent = newText == null ? '' : '' + newText;\n }) : 0 in this ? this.pluck('textContent').join(\"\") : null;\n },\n attr: function (name, value) {\n var result;\n return typeof name == 'string' && !(1 in arguments) ? 0 in this && this[0].nodeType == 1 && (result = this[0].getAttribute(name)) != null ? result : undefined : this.each(function (idx) {\n if (this.nodeType !== 1) return;\n if (isObject(name)) for (key in name) setAttribute(this, key, name[key]);else setAttribute(this, name, funcArg(this, value, idx, this.getAttribute(name)));\n });\n },\n removeAttr: function (name) {\n return this.each(function () {\n this.nodeType === 1 && name.split(' ').forEach(function (attribute) {\n setAttribute(this, attribute);\n }, this);\n });\n },\n prop: function (name, value) {\n name = propMap[name] || name;\n return 1 in arguments ? this.each(function (idx) {\n this[name] = funcArg(this, value, idx, this[name]);\n }) : this[0] && this[0][name];\n },\n removeProp: function (name) {\n name = propMap[name] || name;\n return this.each(function () {\n delete this[name];\n });\n },\n data: function (name, value) {\n var attrName = 'data-' + name.replace(capitalRE, '-$1').toLowerCase();\n var data = 1 in arguments ? this.attr(attrName, value) : this.attr(attrName);\n return data !== null ? deserializeValue(data) : undefined;\n },\n val: function (value) {\n if (0 in arguments) {\n if (value == null) value = \"\";\n return this.each(function (idx) {\n this.value = funcArg(this, value, idx, this.value);\n });\n } else {\n return this[0] && (this[0].multiple ? $(this[0]).find('option').filter(function () {\n return this.selected;\n }).pluck('value') : this[0].value);\n }\n },\n offset: function (coordinates) {\n if (coordinates) return this.each(function (index) {\n var $this = $(this),\n coords = funcArg(this, coordinates, index, $this.offset()),\n parentOffset = $this.offsetParent().offset(),\n props = {\n top: coords.top - parentOffset.top,\n left: coords.left - parentOffset.left\n };\n if ($this.css('position') == 'static') props['position'] = 'relative';\n $this.css(props);\n });\n if (!this.length) return null;\n if (document.documentElement !== this[0] && !$.contains(document.documentElement, this[0])) return {\n top: 0,\n left: 0\n };\n var obj = this[0].getBoundingClientRect();\n return {\n left: obj.left + window.pageXOffset,\n top: obj.top + window.pageYOffset,\n width: Math.round(obj.width),\n height: Math.round(obj.height)\n };\n },\n css: function (property, value) {\n if (arguments.length < 2) {\n var element = this[0];\n if (typeof property == 'string') {\n if (!element) return;\n return element.style[camelize(property)] || getComputedStyle(element, '').getPropertyValue(property);\n } else if (isArray(property)) {\n if (!element) return;\n var props = {};\n var computedStyle = getComputedStyle(element, '');\n $.each(property, function (_, prop) {\n props[prop] = element.style[camelize(prop)] || computedStyle.getPropertyValue(prop);\n });\n return props;\n }\n }\n var css = '';\n if (type(property) == 'string') {\n if (!value && value !== 0) this.each(function () {\n this.style.removeProperty(dasherize(property));\n });else css = dasherize(property) + \":\" + maybeAddPx(property, value);\n } else {\n for (key in property) if (!property[key] && property[key] !== 0) this.each(function () {\n this.style.removeProperty(dasherize(key));\n });else css += dasherize(key) + ':' + maybeAddPx(key, property[key]) + ';';\n }\n return this.each(function () {\n this.style.cssText += ';' + css;\n });\n },\n index: function (element) {\n return element ? this.indexOf($(element)[0]) : this.parent().children().indexOf(this[0]);\n },\n hasClass: function (name) {\n if (!name) return false;\n return emptyArray.some.call(this, function (el) {\n return this.test(className(el));\n }, classRE(name));\n },\n addClass: function (name) {\n if (!name) return this;\n return this.each(function (idx) {\n if (!('className' in this)) return;\n classList = [];\n var cls = className(this),\n newName = funcArg(this, name, idx, cls);\n newName.split(/\\s+/g).forEach(function (klass) {\n if (!$(this).hasClass(klass)) classList.push(klass);\n }, this);\n classList.length && className(this, cls + (cls ? \" \" : \"\") + classList.join(\" \"));\n });\n },\n removeClass: function (name) {\n return this.each(function (idx) {\n if (!('className' in this)) return;\n if (name === undefined) return className(this, '');\n classList = className(this);\n funcArg(this, name, idx, classList).split(/\\s+/g).forEach(function (klass) {\n classList = classList.replace(classRE(klass), \" \");\n });\n className(this, classList.trim());\n });\n },\n toggleClass: function (name, when) {\n if (!name) return this;\n return this.each(function (idx) {\n var $this = $(this),\n names = funcArg(this, name, idx, className(this));\n names.split(/\\s+/g).forEach(function (klass) {\n (when === undefined ? !$this.hasClass(klass) : when) ? $this.addClass(klass) : $this.removeClass(klass);\n });\n });\n },\n scrollTop: function (value) {\n if (!this.length) return;\n var hasScrollTop = ('scrollTop' in this[0]);\n if (value === undefined) return hasScrollTop ? this[0].scrollTop : this[0].pageYOffset;\n return this.each(hasScrollTop ? function () {\n this.scrollTop = value;\n } : function () {\n this.scrollTo(this.scrollX, value);\n });\n },\n scrollLeft: function (value) {\n if (!this.length) return;\n var hasScrollLeft = ('scrollLeft' in this[0]);\n if (value === undefined) return hasScrollLeft ? this[0].scrollLeft : this[0].pageXOffset;\n return this.each(hasScrollLeft ? function () {\n this.scrollLeft = value;\n } : function () {\n this.scrollTo(value, this.scrollY);\n });\n },\n position: function () {\n if (!this.length) return;\n var elem = this[0],\n // Get *real* offsetParent\n offsetParent = this.offsetParent(),\n // Get correct offsets\n offset = this.offset(),\n parentOffset = rootNodeRE.test(offsetParent[0].nodeName) ? {\n top: 0,\n left: 0\n } : offsetParent.offset();\n\n // Subtract element margins\n // note: when an element has margin: auto the offsetLeft and marginLeft\n // are the same in Safari causing offset.left to incorrectly be 0\n offset.top -= parseFloat($(elem).css('margin-top')) || 0;\n offset.left -= parseFloat($(elem).css('margin-left')) || 0;\n\n // Add offsetParent borders\n parentOffset.top += parseFloat($(offsetParent[0]).css('border-top-width')) || 0;\n parentOffset.left += parseFloat($(offsetParent[0]).css('border-left-width')) || 0;\n\n // Subtract the two offsets\n return {\n top: offset.top - parentOffset.top,\n left: offset.left - parentOffset.left\n };\n },\n offsetParent: function () {\n return this.map(function () {\n var parent = this.offsetParent || document.body;\n while (parent && !rootNodeRE.test(parent.nodeName) && $(parent).css(\"position\") == \"static\") parent = parent.offsetParent;\n return parent;\n });\n }\n };\n\n // for now\n $.fn.detach = $.fn.remove\n\n // Generate the `width` and `height` functions\n ;\n ['width', 'height'].forEach(function (dimension) {\n var dimensionProperty = dimension.replace(/./, function (m) {\n return m[0].toUpperCase();\n });\n $.fn[dimension] = function (value) {\n var offset,\n el = this[0];\n if (value === undefined) return isWindow(el) ? el['inner' + dimensionProperty] : isDocument(el) ? el.documentElement['scroll' + dimensionProperty] : (offset = this.offset()) && offset[dimension];else return this.each(function (idx) {\n el = $(this);\n el.css(dimension, funcArg(this, value, idx, el[dimension]()));\n });\n };\n });\n function traverseNode(node, fun) {\n fun(node);\n for (var i = 0, len = node.childNodes.length; i < len; i++) traverseNode(node.childNodes[i], fun);\n }\n\n // Generate the `after`, `prepend`, `before`, `append`,\n // `insertAfter`, `insertBefore`, `appendTo`, and `prependTo` methods.\n adjacencyOperators.forEach(function (operator, operatorIndex) {\n var inside = operatorIndex % 2; //=> prepend, append\n\n $.fn[operator] = function () {\n // arguments can be nodes, arrays of nodes, Zepto objects and HTML strings\n var argType,\n nodes = $.map(arguments, function (arg) {\n var arr = [];\n argType = type(arg);\n if (argType == \"array\") {\n arg.forEach(function (el) {\n if (el.nodeType !== undefined) return arr.push(el);else if ($.zepto.isZ(el)) return arr = arr.concat(el.get());\n arr = arr.concat(zepto.fragment(el));\n });\n return arr;\n }\n return argType == \"object\" || arg == null ? arg : zepto.fragment(arg);\n }),\n parent,\n copyByClone = this.length > 1;\n if (nodes.length < 1) return this;\n return this.each(function (_, target) {\n parent = inside ? target : target.parentNode;\n\n // convert all methods to a \"before\" operation\n target = operatorIndex == 0 ? target.nextSibling : operatorIndex == 1 ? target.firstChild : operatorIndex == 2 ? target : null;\n var parentInDocument = $.contains(document.documentElement, parent);\n nodes.forEach(function (node) {\n if (copyByClone) node = node.cloneNode(true);else if (!parent) return $(node).remove();\n parent.insertBefore(node, target);\n if (parentInDocument) traverseNode(node, function (el) {\n if (el.nodeName != null && el.nodeName.toUpperCase() === 'SCRIPT' && (!el.type || el.type === 'text/javascript') && !el.src) {\n var target = el.ownerDocument ? el.ownerDocument.defaultView : window;\n target['eval'].call(target, el.innerHTML);\n }\n });\n });\n });\n };\n\n // after => insertAfter\n // prepend => prependTo\n // before => insertBefore\n // append => appendTo\n $.fn[inside ? operator + 'To' : 'insert' + (operatorIndex ? 'Before' : 'After')] = function (html) {\n $(html)[operator](this);\n return this;\n };\n });\n zepto.Z.prototype = Z.prototype = $.fn;\n\n // Export internal API functions in the `$.zepto` namespace\n zepto.uniq = uniq;\n zepto.deserializeValue = deserializeValue;\n $.zepto = zepto;\n return $;\n }();\n (function ($) {\n var _zid = 1,\n undefined,\n slice = Array.prototype.slice,\n isFunction = $.isFunction,\n isString = function (obj) {\n return typeof obj == 'string';\n },\n handlers = {},\n specialEvents = {},\n focusinSupported = ('onfocusin' in window),\n focus = {\n focus: 'focusin',\n blur: 'focusout'\n },\n hover = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n };\n specialEvents.click = specialEvents.mousedown = specialEvents.mouseup = specialEvents.mousemove = 'MouseEvents';\n function zid(element) {\n return element._zid || (element._zid = _zid++);\n }\n function findHandlers(element, event, fn, selector) {\n event = parse(event);\n if (event.ns) var matcher = matcherFor(event.ns);\n return (handlers[zid(element)] || []).filter(function (handler) {\n return handler && (!event.e || handler.e == event.e) && (!event.ns || matcher.test(handler.ns)) && (!fn || zid(handler.fn) === zid(fn)) && (!selector || handler.sel == selector);\n });\n }\n function parse(event) {\n var parts = ('' + event).split('.');\n return {\n e: parts[0],\n ns: parts.slice(1).sort().join(' ')\n };\n }\n function matcherFor(ns) {\n return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)');\n }\n function eventCapture(handler, captureSetting) {\n return handler.del && !focusinSupported && handler.e in focus || !!captureSetting;\n }\n function realEvent(type) {\n return hover[type] || focusinSupported && focus[type] || type;\n }\n function add(element, events, fn, data, selector, delegator, capture) {\n var id = zid(element),\n set = handlers[id] || (handlers[id] = []);\n events.split(/\\s/).forEach(function (event) {\n if (event == 'ready') return $(document).ready(fn);\n var handler = parse(event);\n handler.fn = fn;\n handler.sel = selector;\n // emulate mouseenter, mouseleave\n if (handler.e in hover) fn = function (e) {\n var related = e.relatedTarget;\n if (!related || related !== this && !$.contains(this, related)) return handler.fn.apply(this, arguments);\n };\n handler.del = delegator;\n var callback = delegator || fn;\n handler.proxy = function (e) {\n e = compatible(e);\n if (e.isImmediatePropagationStopped()) return;\n try {\n var dataPropDescriptor = Object.getOwnPropertyDescriptor(e, 'data');\n if (!dataPropDescriptor || dataPropDescriptor.writable) e.data = data;\n } catch (e) {} // when using strict mode dataPropDescriptor will be undefined when e is InputEvent (even though data property exists). So we surround with try/catch\n var result = callback.apply(element, e._args == undefined ? [e] : [e].concat(e._args));\n if (result === false) e.preventDefault(), e.stopPropagation();\n return result;\n };\n handler.i = set.length;\n set.push(handler);\n if ('addEventListener' in element) element.addEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture));\n });\n }\n function remove(element, events, fn, selector, capture) {\n var id = zid(element);\n (events || '').split(/\\s/).forEach(function (event) {\n findHandlers(element, event, fn, selector).forEach(function (handler) {\n delete handlers[id][handler.i];\n if ('removeEventListener' in element) element.removeEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture));\n });\n });\n }\n $.event = {\n add: add,\n remove: remove\n };\n $.proxy = function (fn, context) {\n var args = 2 in arguments && slice.call(arguments, 2);\n if (isFunction(fn)) {\n var proxyFn = function () {\n return fn.apply(context, args ? args.concat(slice.call(arguments)) : arguments);\n };\n proxyFn._zid = zid(fn);\n return proxyFn;\n } else if (isString(context)) {\n if (args) {\n args.unshift(fn[context], fn);\n return $.proxy.apply(null, args);\n } else {\n return $.proxy(fn[context], fn);\n }\n } else {\n throw new TypeError(\"expected function\");\n }\n };\n $.fn.bind = function (event, data, callback) {\n return this.on(event, data, callback);\n };\n $.fn.unbind = function (event, callback) {\n return this.off(event, callback);\n };\n $.fn.one = function (event, selector, data, callback) {\n return this.on(event, selector, data, callback, 1);\n };\n var returnTrue = function () {\n return true;\n },\n returnFalse = function () {\n return false;\n },\n ignoreProperties = /^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,\n eventMethods = {\n preventDefault: 'isDefaultPrevented',\n stopImmediatePropagation: 'isImmediatePropagationStopped',\n stopPropagation: 'isPropagationStopped'\n };\n function compatible(event, source) {\n if (source || !event.isDefaultPrevented) {\n source || (source = event);\n $.each(eventMethods, function (name, predicate) {\n var sourceMethod = source[name];\n event[name] = function () {\n this[predicate] = returnTrue;\n return sourceMethod && sourceMethod.apply(source, arguments);\n };\n event[predicate] = returnFalse;\n });\n try {\n event.timeStamp || (event.timeStamp = Date.now());\n } catch (ignored) {}\n if (source.defaultPrevented !== undefined ? source.defaultPrevented : 'returnValue' in source ? source.returnValue === false : source.getPreventDefault && source.getPreventDefault()) event.isDefaultPrevented = returnTrue;\n }\n return event;\n }\n function createProxy(event) {\n var key,\n proxy = {\n originalEvent: event\n };\n for (key in event) if (!ignoreProperties.test(key) && event[key] !== undefined) proxy[key] = event[key];\n return compatible(proxy, event);\n }\n $.fn.delegate = function (selector, event, callback) {\n return this.on(event, selector, callback);\n };\n $.fn.undelegate = function (selector, event, callback) {\n return this.off(event, selector, callback);\n };\n $.fn.live = function (event, callback) {\n $(document.body).delegate(this.selector, event, callback);\n return this;\n };\n $.fn.die = function (event, callback) {\n $(document.body).undelegate(this.selector, event, callback);\n return this;\n };\n $.fn.on = function (event, selector, data, callback, one) {\n var autoRemove,\n delegator,\n $this = this;\n if (event && !isString(event)) {\n $.each(event, function (type, fn) {\n $this.on(type, selector, data, fn, one);\n });\n return $this;\n }\n if (!isString(selector) && !isFunction(callback) && callback !== false) callback = data, data = selector, selector = undefined;\n if (callback === undefined || data === false) callback = data, data = undefined;\n if (callback === false) callback = returnFalse;\n return $this.each(function (_, element) {\n if (one) autoRemove = function (e) {\n remove(element, e.type, callback);\n return callback.apply(this, arguments);\n };\n if (selector) delegator = function (e) {\n var evt,\n match = $(e.target).closest(selector, element).get(0);\n if (match && match !== element) {\n evt = $.extend(createProxy(e), {\n currentTarget: match,\n liveFired: element\n });\n return (autoRemove || callback).apply(match, [evt].concat(slice.call(arguments, 1)));\n }\n };\n add(element, event, callback, data, selector, delegator || autoRemove);\n });\n };\n $.fn.off = function (event, selector, callback) {\n var $this = this;\n if (event && !isString(event)) {\n $.each(event, function (type, fn) {\n $this.off(type, selector, fn);\n });\n return $this;\n }\n if (!isString(selector) && !isFunction(callback) && callback !== false) callback = selector, selector = undefined;\n if (callback === false) callback = returnFalse;\n return $this.each(function () {\n remove(this, event, callback, selector);\n });\n };\n $.fn.trigger = function (event, args) {\n event = isString(event) || $.isPlainObject(event) ? $.Event(event) : compatible(event);\n event._args = args;\n return this.each(function () {\n // handle focus(), blur() by calling them directly\n if (event.type in focus && typeof this[event.type] == \"function\") this[event.type]();\n // items in the collection might not be DOM elements\n else if ('dispatchEvent' in this) this.dispatchEvent(event);else $(this).triggerHandler(event, args);\n });\n };\n\n // triggers event handlers on current element just as if an event occurred,\n // doesn't trigger an actual event, doesn't bubble\n $.fn.triggerHandler = function (event, args) {\n var e, result;\n this.each(function (i, element) {\n e = createProxy(isString(event) ? $.Event(event) : event);\n e._args = args;\n e.target = element;\n $.each(findHandlers(element, event.type || event), function (i, handler) {\n result = handler.proxy(e);\n if (e.isImmediatePropagationStopped()) return false;\n });\n });\n return result;\n }\n\n // shortcut methods for `.bind(event, fn)` for each event type\n ;\n ('focusin focusout focus blur load resize scroll unload click dblclick ' + 'mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave ' + 'change select keydown keypress keyup error').split(' ').forEach(function (event) {\n $.fn[event] = function (callback) {\n return 0 in arguments ? this.bind(event, callback) : this.trigger(event);\n };\n });\n $.Event = function (type, props) {\n if (!isString(type)) props = type, type = props.type;\n var event = document.createEvent(specialEvents[type] || 'Events'),\n bubbles = true;\n if (props) for (var name in props) name == 'bubbles' ? bubbles = !!props[name] : event[name] = props[name];\n event.initEvent(type, bubbles, true);\n return compatible(event);\n };\n })(Zepto);\n (function ($) {\n var cache = [],\n timeout;\n $.fn.remove = function () {\n return this.each(function () {\n if (this.parentNode) {\n if (this.tagName === 'IMG') {\n cache.push(this);\n this.src = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(function () {\n cache = [];\n }, 60000);\n }\n this.parentNode.removeChild(this);\n }\n });\n };\n })(Zepto);\n (function ($) {\n var data = {},\n dataAttr = $.fn.data,\n camelize = $.camelCase,\n exp = $.expando = 'Zepto' + +new Date(),\n emptyArray = [];\n\n // Get value from node:\n // 1. first try key as given,\n // 2. then try camelized key,\n // 3. fall back to reading \"data-*\" attribute.\n function getData(node, name) {\n var id = node[exp],\n store = id && data[id];\n if (name === undefined) return store || setData(node);else {\n if (store) {\n if (name in store) return store[name];\n var camelName = camelize(name);\n if (camelName in store) return store[camelName];\n }\n return dataAttr.call($(node), name);\n }\n }\n\n // Store value under camelized key on node\n function setData(node, name, value) {\n var id = node[exp] || (node[exp] = ++$.uuid),\n store = data[id] || (data[id] = attributeData(node));\n if (name !== undefined) store[camelize(name)] = value;\n return store;\n }\n\n // Read all \"data-*\" attributes from a node\n function attributeData(node) {\n var store = {};\n $.each(node.attributes || emptyArray, function (i, attr) {\n if (attr.name.indexOf('data-') == 0) store[camelize(attr.name.replace('data-', ''))] = $.zepto.deserializeValue(attr.value);\n });\n return store;\n }\n $.fn.data = function (name, value) {\n return value === undefined ?\n // set multiple values via object\n $.isPlainObject(name) ? this.each(function (i, node) {\n $.each(name, function (key, value) {\n setData(node, key, value);\n });\n }) :\n // get value from first element\n 0 in this ? getData(this[0], name) : undefined :\n // set value on all elements\n this.each(function () {\n setData(this, name, value);\n });\n };\n $.data = function (elem, name, value) {\n return $(elem).data(name, value);\n };\n $.hasData = function (elem) {\n var id = elem[exp],\n store = id && data[id];\n return store ? !$.isEmptyObject(store) : false;\n };\n $.fn.removeData = function (names) {\n if (typeof names == 'string') names = names.split(/\\s+/);\n return this.each(function () {\n var id = this[exp],\n store = id && data[id];\n if (store) $.each(names || store, function (key) {\n delete store[names ? camelize(this) : key];\n });\n });\n }\n\n // Generate extended `remove` and `empty` functions\n ;\n ['remove', 'empty'].forEach(function (methodName) {\n var origFn = $.fn[methodName];\n $.fn[methodName] = function () {\n var elements = this.find('*');\n if (methodName === 'remove') elements = elements.add(this);\n elements.removeData();\n return origFn.call(this);\n };\n });\n })(Zepto);\n return Zepto;\n});","'use strict';\n\nvar attrsKey = 'aaAttrs';\nvar _ = require('../common/utils.js');\nvar DOM = require('../common/dom.js');\nvar EventBus = require('./event_bus.js');\nvar Input = require('./input.js');\nvar Dropdown = require('./dropdown.js');\nvar html = require('./html.js');\nvar css = require('./css.js');\n\n// constructor\n// -----------\n\n// THOUGHT: what if datasets could dynamically be added/removed?\nfunction Typeahead(o) {\n var $menu;\n var $hint;\n o = o || {};\n if (!o.input) {\n _.error('missing input');\n }\n this.isActivated = false;\n this.debug = !!o.debug;\n this.autoselect = !!o.autoselect;\n this.autoselectOnBlur = !!o.autoselectOnBlur;\n this.openOnFocus = !!o.openOnFocus;\n this.minLength = _.isNumber(o.minLength) ? o.minLength : 1;\n this.autoWidth = o.autoWidth === undefined ? true : !!o.autoWidth;\n this.clearOnSelected = !!o.clearOnSelected;\n this.tabAutocomplete = o.tabAutocomplete === undefined ? true : !!o.tabAutocomplete;\n o.hint = !!o.hint;\n if (o.hint && o.appendTo) {\n throw new Error('[autocomplete.js] hint and appendTo options can\\'t be used at the same time');\n }\n this.css = o.css = _.mixin({}, css, o.appendTo ? css.appendTo : {});\n this.cssClasses = o.cssClasses = _.mixin({}, css.defaultClasses, o.cssClasses || {});\n this.cssClasses.prefix = o.cssClasses.formattedPrefix = _.formatPrefix(this.cssClasses.prefix, this.cssClasses.noPrefix);\n this.listboxId = o.listboxId = [this.cssClasses.root, 'listbox', _.getUniqueId()].join('-');\n var domElts = buildDom(o);\n this.$node = domElts.wrapper;\n var $input = this.$input = domElts.input;\n $menu = domElts.menu;\n $hint = domElts.hint;\n if (o.dropdownMenuContainer) {\n DOM.element(o.dropdownMenuContainer).css('position', 'relative') // ensure the container has a relative position\n .append($menu.css('top', '0')); // override the top: 100%\n }\n\n // #705: if there's scrollable overflow, ie doesn't support\n // blur cancellations when the scrollbar is clicked\n //\n // #351: preventDefault won't cancel blurs in ie <= 8\n $input.on('blur.aa', function ($e) {\n var active = document.activeElement;\n if (_.isMsie() && ($menu[0] === active || $menu[0].contains(active))) {\n $e.preventDefault();\n // stop immediate in order to prevent Input#_onBlur from\n // getting exectued\n $e.stopImmediatePropagation();\n _.defer(function () {\n $input.focus();\n });\n }\n });\n\n // #351: prevents input blur due to clicks within dropdown menu\n $menu.on('mousedown.aa', function ($e) {\n $e.preventDefault();\n });\n this.eventBus = o.eventBus || new EventBus({\n el: $input\n });\n this.dropdown = new Typeahead.Dropdown({\n appendTo: o.appendTo,\n wrapper: this.$node,\n menu: $menu,\n datasets: o.datasets,\n templates: o.templates,\n cssClasses: o.cssClasses,\n minLength: this.minLength\n }).onSync('suggestionClicked', this._onSuggestionClicked, this).onSync('cursorMoved', this._onCursorMoved, this).onSync('cursorRemoved', this._onCursorRemoved, this).onSync('opened', this._onOpened, this).onSync('closed', this._onClosed, this).onSync('shown', this._onShown, this).onSync('empty', this._onEmpty, this).onSync('redrawn', this._onRedrawn, this).onAsync('datasetRendered', this._onDatasetRendered, this);\n this.input = new Typeahead.Input({\n input: $input,\n hint: $hint\n }).onSync('focused', this._onFocused, this).onSync('blurred', this._onBlurred, this).onSync('enterKeyed', this._onEnterKeyed, this).onSync('tabKeyed', this._onTabKeyed, this).onSync('escKeyed', this._onEscKeyed, this).onSync('upKeyed', this._onUpKeyed, this).onSync('downKeyed', this._onDownKeyed, this).onSync('leftKeyed', this._onLeftKeyed, this).onSync('rightKeyed', this._onRightKeyed, this).onSync('queryChanged', this._onQueryChanged, this).onSync('whitespaceChanged', this._onWhitespaceChanged, this);\n this._bindKeyboardShortcuts(o);\n this._setLanguageDirection();\n}\n\n// instance methods\n// ----------------\n\n_.mixin(Typeahead.prototype, {\n // ### private\n\n _bindKeyboardShortcuts: function (options) {\n if (!options.keyboardShortcuts) {\n return;\n }\n var $input = this.$input;\n var keyboardShortcuts = [];\n _.each(options.keyboardShortcuts, function (key) {\n if (typeof key === 'string') {\n key = key.toUpperCase().charCodeAt(0);\n }\n keyboardShortcuts.push(key);\n });\n DOM.element(document).keydown(function (event) {\n var elt = event.target || event.srcElement;\n var tagName = elt.tagName;\n if (elt.isContentEditable || tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA') {\n // already in an input\n return;\n }\n var which = event.which || event.keyCode;\n if (keyboardShortcuts.indexOf(which) === -1) {\n // not the right shortcut\n return;\n }\n $input.focus();\n event.stopPropagation();\n event.preventDefault();\n });\n },\n _onSuggestionClicked: function onSuggestionClicked(type, $el) {\n var datum;\n var context = {\n selectionMethod: 'click'\n };\n if (datum = this.dropdown.getDatumForSuggestion($el)) {\n this._select(datum, context);\n }\n },\n _onCursorMoved: function onCursorMoved(event, updateInput) {\n var datum = this.dropdown.getDatumForCursor();\n var currentCursorId = this.dropdown.getCurrentCursor().attr('id');\n this.input.setActiveDescendant(currentCursorId);\n if (datum) {\n if (updateInput) {\n this.input.setInputValue(datum.value, true);\n }\n this.eventBus.trigger('cursorchanged', datum.raw, datum.datasetName);\n }\n },\n _onCursorRemoved: function onCursorRemoved() {\n this.input.resetInputValue();\n this._updateHint();\n this.eventBus.trigger('cursorremoved');\n },\n _onDatasetRendered: function onDatasetRendered() {\n this._updateHint();\n this.eventBus.trigger('updated');\n },\n _onOpened: function onOpened() {\n this._updateHint();\n this.input.expand();\n this.eventBus.trigger('opened');\n },\n _onEmpty: function onEmpty() {\n this.eventBus.trigger('empty');\n },\n _onRedrawn: function onRedrawn() {\n this.$node.css('top', 0 + 'px');\n this.$node.css('left', 0 + 'px');\n var inputRect = this.$input[0].getBoundingClientRect();\n if (this.autoWidth) {\n this.$node.css('width', inputRect.width + 'px');\n }\n var wrapperRect = this.$node[0].getBoundingClientRect();\n var top = inputRect.bottom - wrapperRect.top;\n this.$node.css('top', top + 'px');\n var left = inputRect.left - wrapperRect.left;\n this.$node.css('left', left + 'px');\n this.eventBus.trigger('redrawn');\n },\n _onShown: function onShown() {\n this.eventBus.trigger('shown');\n if (this.autoselect) {\n this.dropdown.cursorTopSuggestion();\n }\n },\n _onClosed: function onClosed() {\n this.input.clearHint();\n this.input.removeActiveDescendant();\n this.input.collapse();\n this.eventBus.trigger('closed');\n },\n _onFocused: function onFocused() {\n this.isActivated = true;\n if (this.openOnFocus) {\n var query = this.input.getQuery();\n if (query.length >= this.minLength) {\n this.dropdown.update(query);\n } else {\n this.dropdown.empty();\n }\n this.dropdown.open();\n }\n },\n _onBlurred: function onBlurred() {\n var cursorDatum;\n var topSuggestionDatum;\n cursorDatum = this.dropdown.getDatumForCursor();\n topSuggestionDatum = this.dropdown.getDatumForTopSuggestion();\n var context = {\n selectionMethod: 'blur'\n };\n if (!this.debug) {\n if (this.autoselectOnBlur && cursorDatum) {\n this._select(cursorDatum, context);\n } else if (this.autoselectOnBlur && topSuggestionDatum) {\n this._select(topSuggestionDatum, context);\n } else {\n this.isActivated = false;\n this.dropdown.empty();\n this.dropdown.close();\n }\n }\n },\n _onEnterKeyed: function onEnterKeyed(type, $e) {\n var cursorDatum;\n var topSuggestionDatum;\n cursorDatum = this.dropdown.getDatumForCursor();\n topSuggestionDatum = this.dropdown.getDatumForTopSuggestion();\n var context = {\n selectionMethod: 'enterKey'\n };\n if (cursorDatum) {\n this._select(cursorDatum, context);\n $e.preventDefault();\n } else if (this.autoselect && topSuggestionDatum) {\n this._select(topSuggestionDatum, context);\n $e.preventDefault();\n }\n },\n _onTabKeyed: function onTabKeyed(type, $e) {\n if (!this.tabAutocomplete) {\n // Closing the dropdown enables further tabbing\n this.dropdown.close();\n return;\n }\n var datum;\n var context = {\n selectionMethod: 'tabKey'\n };\n if (datum = this.dropdown.getDatumForCursor()) {\n this._select(datum, context);\n $e.preventDefault();\n } else {\n this._autocomplete(true);\n }\n },\n _onEscKeyed: function onEscKeyed() {\n this.dropdown.close();\n this.input.resetInputValue();\n },\n _onUpKeyed: function onUpKeyed() {\n var query = this.input.getQuery();\n if (this.dropdown.isEmpty && query.length >= this.minLength) {\n this.dropdown.update(query);\n } else {\n this.dropdown.moveCursorUp();\n }\n this.dropdown.open();\n },\n _onDownKeyed: function onDownKeyed() {\n var query = this.input.getQuery();\n if (this.dropdown.isEmpty && query.length >= this.minLength) {\n this.dropdown.update(query);\n } else {\n this.dropdown.moveCursorDown();\n }\n this.dropdown.open();\n },\n _onLeftKeyed: function onLeftKeyed() {\n if (this.dir === 'rtl') {\n this._autocomplete();\n }\n },\n _onRightKeyed: function onRightKeyed() {\n if (this.dir === 'ltr') {\n this._autocomplete();\n }\n },\n _onQueryChanged: function onQueryChanged(e, query) {\n this.input.clearHintIfInvalid();\n if (query.length >= this.minLength) {\n this.dropdown.update(query);\n } else {\n this.dropdown.empty();\n }\n this.dropdown.open();\n this._setLanguageDirection();\n },\n _onWhitespaceChanged: function onWhitespaceChanged() {\n this._updateHint();\n this.dropdown.open();\n },\n _setLanguageDirection: function setLanguageDirection() {\n var dir = this.input.getLanguageDirection();\n if (this.dir !== dir) {\n this.dir = dir;\n this.$node.css('direction', dir);\n this.dropdown.setLanguageDirection(dir);\n }\n },\n _updateHint: function updateHint() {\n var datum;\n var val;\n var query;\n var escapedQuery;\n var frontMatchRegEx;\n var match;\n datum = this.dropdown.getDatumForTopSuggestion();\n if (datum && this.dropdown.isVisible() && !this.input.hasOverflow()) {\n val = this.input.getInputValue();\n query = Input.normalizeQuery(val);\n escapedQuery = _.escapeRegExChars(query);\n\n // match input value, then capture trailing text\n frontMatchRegEx = new RegExp('^(?:' + escapedQuery + ')(.+$)', 'i');\n match = frontMatchRegEx.exec(datum.value);\n\n // clear hint if there's no trailing text\n if (match) {\n this.input.setHint(val + match[1]);\n } else {\n this.input.clearHint();\n }\n } else {\n this.input.clearHint();\n }\n },\n _autocomplete: function autocomplete(laxCursor) {\n var hint;\n var query;\n var isCursorAtEnd;\n var datum;\n hint = this.input.getHint();\n query = this.input.getQuery();\n isCursorAtEnd = laxCursor || this.input.isCursorAtEnd();\n if (hint && query !== hint && isCursorAtEnd) {\n datum = this.dropdown.getDatumForTopSuggestion();\n if (datum) {\n this.input.setInputValue(datum.value);\n }\n this.eventBus.trigger('autocompleted', datum.raw, datum.datasetName);\n }\n },\n _select: function select(datum, context) {\n if (typeof datum.value !== 'undefined') {\n this.input.setQuery(datum.value);\n }\n if (this.clearOnSelected) {\n this.setVal('');\n } else {\n this.input.setInputValue(datum.value, true);\n }\n this._setLanguageDirection();\n var event = this.eventBus.trigger('selected', datum.raw, datum.datasetName, context);\n if (event.isDefaultPrevented() === false) {\n this.dropdown.close();\n\n // #118: allow click event to bubble up to the body before removing\n // the suggestions otherwise we break event delegation\n _.defer(_.bind(this.dropdown.empty, this.dropdown));\n }\n },\n // ### public\n\n open: function open() {\n // if the menu is not activated yet, we need to update\n // the underlying dropdown menu to trigger the search\n // otherwise we're not gonna see anything\n if (!this.isActivated) {\n var query = this.input.getInputValue();\n if (query.length >= this.minLength) {\n this.dropdown.update(query);\n } else {\n this.dropdown.empty();\n }\n }\n this.dropdown.open();\n },\n close: function close() {\n this.dropdown.close();\n },\n setVal: function setVal(val) {\n // expect val to be a string, so be safe, and coerce\n val = _.toStr(val);\n if (this.isActivated) {\n this.input.setInputValue(val);\n } else {\n this.input.setQuery(val);\n this.input.setInputValue(val, true);\n }\n this._setLanguageDirection();\n },\n getVal: function getVal() {\n return this.input.getQuery();\n },\n destroy: function destroy() {\n this.input.destroy();\n this.dropdown.destroy();\n destroyDomStructure(this.$node, this.cssClasses);\n this.$node = null;\n },\n getWrapper: function getWrapper() {\n return this.dropdown.$container[0];\n }\n});\nfunction buildDom(options) {\n var $input;\n var $wrapper;\n var $dropdown;\n var $hint;\n $input = DOM.element(options.input);\n $wrapper = DOM.element(html.wrapper.replace('%ROOT%', options.cssClasses.root)).css(options.css.wrapper);\n\n // override the display property with the table-cell value\n // if the parent element is a table and the original input was a block\n // -> https://github.com/algolia/autocomplete.js/issues/16\n if (!options.appendTo && $input.css('display') === 'block' && $input.parent().css('display') === 'table') {\n $wrapper.css('display', 'table-cell');\n }\n var dropdownHtml = html.dropdown.replace('%PREFIX%', options.cssClasses.prefix).replace('%DROPDOWN_MENU%', options.cssClasses.dropdownMenu);\n $dropdown = DOM.element(dropdownHtml).css(options.css.dropdown).attr({\n role: 'listbox',\n id: options.listboxId\n });\n if (options.templates && options.templates.dropdownMenu) {\n $dropdown.html(_.templatify(options.templates.dropdownMenu)());\n }\n $hint = $input.clone().css(options.css.hint).css(getBackgroundStyles($input));\n $hint.val('').addClass(_.className(options.cssClasses.prefix, options.cssClasses.hint, true)).removeAttr('id name placeholder required').prop('readonly', true).attr({\n 'aria-hidden': 'true',\n autocomplete: 'off',\n spellcheck: 'false',\n tabindex: -1\n });\n if ($hint.removeData) {\n $hint.removeData();\n }\n\n // store the original values of the attrs that get modified\n // so modifications can be reverted on destroy\n $input.data(attrsKey, {\n 'aria-autocomplete': $input.attr('aria-autocomplete'),\n 'aria-expanded': $input.attr('aria-expanded'),\n 'aria-owns': $input.attr('aria-owns'),\n autocomplete: $input.attr('autocomplete'),\n dir: $input.attr('dir'),\n role: $input.attr('role'),\n spellcheck: $input.attr('spellcheck'),\n style: $input.attr('style'),\n type: $input.attr('type')\n });\n $input.addClass(_.className(options.cssClasses.prefix, options.cssClasses.input, true)).attr({\n autocomplete: 'off',\n spellcheck: false,\n // Accessibility features\n // Give the field a presentation of a \"select\".\n // Combobox is the combined presentation of a single line textfield\n // with a listbox popup.\n // https://www.w3.org/WAI/PF/aria/roles#combobox\n role: 'combobox',\n // Let the screen reader know the field has an autocomplete\n // feature to it.\n 'aria-autocomplete': options.datasets && options.datasets[0] && options.datasets[0].displayKey ? 'both' : 'list',\n // Indicates whether the dropdown it controls is currently expanded or collapsed\n 'aria-expanded': 'false',\n 'aria-label': options.ariaLabel,\n // Explicitly point to the listbox,\n // which is a list of suggestions (aka options)\n 'aria-owns': options.listboxId\n }).css(options.hint ? options.css.input : options.css.inputWithNoHint);\n\n // ie7 does not like it when dir is set to auto\n try {\n if (!$input.attr('dir')) {\n $input.attr('dir', 'auto');\n }\n } catch (e) {\n // ignore\n }\n $wrapper = options.appendTo ? $wrapper.appendTo(DOM.element(options.appendTo).eq(0)).eq(0) : $input.wrap($wrapper).parent();\n $wrapper.prepend(options.hint ? $hint : null).append($dropdown);\n return {\n wrapper: $wrapper,\n input: $input,\n hint: $hint,\n menu: $dropdown\n };\n}\nfunction getBackgroundStyles($el) {\n return {\n backgroundAttachment: $el.css('background-attachment'),\n backgroundClip: $el.css('background-clip'),\n backgroundColor: $el.css('background-color'),\n backgroundImage: $el.css('background-image'),\n backgroundOrigin: $el.css('background-origin'),\n backgroundPosition: $el.css('background-position'),\n backgroundRepeat: $el.css('background-repeat'),\n backgroundSize: $el.css('background-size')\n };\n}\nfunction destroyDomStructure($node, cssClasses) {\n var $input = $node.find(_.className(cssClasses.prefix, cssClasses.input));\n\n // need to remove attrs that weren't previously defined and\n // revert attrs that originally had a value\n _.each($input.data(attrsKey), function (val, key) {\n if (val === undefined) {\n $input.removeAttr(key);\n } else {\n $input.attr(key, val);\n }\n });\n $input.detach().removeClass(_.className(cssClasses.prefix, cssClasses.input, true)).insertAfter($node);\n if ($input.removeData) {\n $input.removeData(attrsKey);\n }\n $node.remove();\n}\nTypeahead.Dropdown = Dropdown;\nTypeahead.Input = Input;\nTypeahead.sources = require('../sources/index.js');\nmodule.exports = Typeahead;","'use strict';\n\nvar specialKeyCodeMap;\nspecialKeyCodeMap = {\n 9: 'tab',\n 27: 'esc',\n 37: 'left',\n 39: 'right',\n 13: 'enter',\n 38: 'up',\n 40: 'down'\n};\nvar _ = require('../common/utils.js');\nvar DOM = require('../common/dom.js');\nvar EventEmitter = require('./event_emitter.js');\n\n// constructor\n// -----------\n\nfunction Input(o) {\n var that = this;\n var onBlur;\n var onFocus;\n var onKeydown;\n var onInput;\n o = o || {};\n if (!o.input) {\n _.error('input is missing');\n }\n\n // bound functions\n onBlur = _.bind(this._onBlur, this);\n onFocus = _.bind(this._onFocus, this);\n onKeydown = _.bind(this._onKeydown, this);\n onInput = _.bind(this._onInput, this);\n this.$hint = DOM.element(o.hint);\n this.$input = DOM.element(o.input).on('blur.aa', onBlur).on('focus.aa', onFocus).on('keydown.aa', onKeydown);\n\n // if no hint, noop all the hint related functions\n if (this.$hint.length === 0) {\n this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop;\n }\n\n // ie7 and ie8 don't support the input event\n // ie9 doesn't fire the input event when characters are removed\n // not sure if ie10 is compatible\n if (!_.isMsie()) {\n this.$input.on('input.aa', onInput);\n } else {\n this.$input.on('keydown.aa keypress.aa cut.aa paste.aa', function ($e) {\n // if a special key triggered this, ignore it\n if (specialKeyCodeMap[$e.which || $e.keyCode]) {\n return;\n }\n\n // give the browser a chance to update the value of the input\n // before checking to see if the query changed\n _.defer(_.bind(that._onInput, that, $e));\n });\n }\n\n // the query defaults to whatever the value of the input is\n // on initialization, it'll most likely be an empty string\n this.query = this.$input.val();\n\n // helps with calculating the width of the input's value\n this.$overflowHelper = buildOverflowHelper(this.$input);\n}\n\n// static methods\n// --------------\n\nInput.normalizeQuery = function (str) {\n // strips leading whitespace and condenses all whitespace\n return (str || '').replace(/^\\s*/g, '').replace(/\\s{2,}/g, ' ');\n};\n\n// instance methods\n// ----------------\n\n_.mixin(Input.prototype, EventEmitter, {\n // ### private\n\n _onBlur: function onBlur() {\n this.resetInputValue();\n this.$input.removeAttr('aria-activedescendant');\n this.trigger('blurred');\n },\n _onFocus: function onFocus() {\n this.trigger('focused');\n },\n _onKeydown: function onKeydown($e) {\n // which is normalized and consistent (but not for ie)\n var keyName = specialKeyCodeMap[$e.which || $e.keyCode];\n this._managePreventDefault(keyName, $e);\n if (keyName && this._shouldTrigger(keyName, $e)) {\n this.trigger(keyName + 'Keyed', $e);\n }\n },\n _onInput: function onInput() {\n this._checkInputValue();\n },\n _managePreventDefault: function managePreventDefault(keyName, $e) {\n var preventDefault;\n var hintValue;\n var inputValue;\n switch (keyName) {\n case 'tab':\n hintValue = this.getHint();\n inputValue = this.getInputValue();\n preventDefault = hintValue && hintValue !== inputValue && !withModifier($e);\n break;\n case 'up':\n case 'down':\n preventDefault = !withModifier($e);\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) {\n $e.preventDefault();\n }\n },\n _shouldTrigger: function shouldTrigger(keyName, $e) {\n var trigger;\n switch (keyName) {\n case 'tab':\n trigger = !withModifier($e);\n break;\n default:\n trigger = true;\n }\n return trigger;\n },\n _checkInputValue: function checkInputValue() {\n var inputValue;\n var areEquivalent;\n var hasDifferentWhitespace;\n inputValue = this.getInputValue();\n areEquivalent = areQueriesEquivalent(inputValue, this.query);\n hasDifferentWhitespace = areEquivalent && this.query ? this.query.length !== inputValue.length : false;\n this.query = inputValue;\n if (!areEquivalent) {\n this.trigger('queryChanged', this.query);\n } else if (hasDifferentWhitespace) {\n this.trigger('whitespaceChanged', this.query);\n }\n },\n // ### public\n\n focus: function focus() {\n this.$input.focus();\n },\n blur: function blur() {\n this.$input.blur();\n },\n getQuery: function getQuery() {\n return this.query;\n },\n setQuery: function setQuery(query) {\n this.query = query;\n },\n getInputValue: function getInputValue() {\n return this.$input.val();\n },\n setInputValue: function setInputValue(value, silent) {\n if (typeof value === 'undefined') {\n value = this.query;\n }\n this.$input.val(value);\n\n // silent prevents any additional events from being triggered\n if (silent) {\n this.clearHint();\n } else {\n this._checkInputValue();\n }\n },\n expand: function expand() {\n this.$input.attr('aria-expanded', 'true');\n },\n collapse: function collapse() {\n this.$input.attr('aria-expanded', 'false');\n },\n setActiveDescendant: function setActiveDescendant(activedescendantId) {\n this.$input.attr('aria-activedescendant', activedescendantId);\n },\n removeActiveDescendant: function removeActiveDescendant() {\n this.$input.removeAttr('aria-activedescendant');\n },\n resetInputValue: function resetInputValue() {\n this.setInputValue(this.query, true);\n },\n getHint: function getHint() {\n return this.$hint.val();\n },\n setHint: function setHint(value) {\n this.$hint.val(value);\n },\n clearHint: function clearHint() {\n this.setHint('');\n },\n clearHintIfInvalid: function clearHintIfInvalid() {\n var val;\n var hint;\n var valIsPrefixOfHint;\n var isValid;\n val = this.getInputValue();\n hint = this.getHint();\n valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0;\n isValid = val !== '' && valIsPrefixOfHint && !this.hasOverflow();\n if (!isValid) {\n this.clearHint();\n }\n },\n getLanguageDirection: function getLanguageDirection() {\n return (this.$input.css('direction') || 'ltr').toLowerCase();\n },\n hasOverflow: function hasOverflow() {\n // 2 is arbitrary, just picking a small number to handle edge cases\n var constraint = this.$input.width() - 2;\n this.$overflowHelper.text(this.getInputValue());\n return this.$overflowHelper.width() >= constraint;\n },\n isCursorAtEnd: function () {\n var valueLength;\n var selectionStart;\n var range;\n valueLength = this.$input.val().length;\n selectionStart = this.$input[0].selectionStart;\n if (_.isNumber(selectionStart)) {\n return selectionStart === valueLength;\n } else if (document.selection) {\n // NOTE: this won't work unless the input has focus, the good news\n // is this code should only get called when the input has focus\n range = document.selection.createRange();\n range.moveStart('character', -valueLength);\n return valueLength === range.text.length;\n }\n return true;\n },\n destroy: function destroy() {\n this.$hint.off('.aa');\n this.$input.off('.aa');\n this.$hint = this.$input = this.$overflowHelper = null;\n }\n});\n\n// helper functions\n// ----------------\n\nfunction buildOverflowHelper($input) {\n return DOM.element('
').css({\n    // position helper off-screen\n    position: 'absolute',\n    visibility: 'hidden',\n    // avoid line breaks and whitespace collapsing\n    whiteSpace: 'pre',\n    // use same font css as input to calculate accurate width\n    fontFamily: $input.css('font-family'),\n    fontSize: $input.css('font-size'),\n    fontStyle: $input.css('font-style'),\n    fontVariant: $input.css('font-variant'),\n    fontWeight: $input.css('font-weight'),\n    wordSpacing: $input.css('word-spacing'),\n    letterSpacing: $input.css('letter-spacing'),\n    textIndent: $input.css('text-indent'),\n    textRendering: $input.css('text-rendering'),\n    textTransform: $input.css('text-transform')\n  }).insertAfter($input);\n}\nfunction areQueriesEquivalent(a, b) {\n  return Input.normalizeQuery(a) === Input.normalizeQuery(b);\n}\nfunction withModifier($e) {\n  return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey;\n}\nmodule.exports = Input;","'use strict';\n\nvar types = [require('./nextTick'), require('./queueMicrotask'), require('./mutation.js'), require('./messageChannel'), require('./stateChange'), require('./timeout')];\nvar draining;\nvar currentQueue;\nvar queueIndex = -1;\nvar queue = [];\nvar scheduled = false;\nfunction cleanUpNextTick() {\n  if (!draining || !currentQueue) {\n    return;\n  }\n  draining = false;\n  if (currentQueue.length) {\n    queue = currentQueue.concat(queue);\n  } else {\n    queueIndex = -1;\n  }\n  if (queue.length) {\n    nextTick();\n  }\n}\n\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n  if (draining) {\n    return;\n  }\n  scheduled = false;\n  draining = true;\n  var len = queue.length;\n  var timeout = setTimeout(cleanUpNextTick);\n  while (len) {\n    currentQueue = queue;\n    queue = [];\n    while (currentQueue && ++queueIndex < len) {\n      currentQueue[queueIndex].run();\n    }\n    queueIndex = -1;\n    len = queue.length;\n  }\n  currentQueue = null;\n  queueIndex = -1;\n  draining = false;\n  clearTimeout(timeout);\n}\nvar scheduleDrain;\nvar i = -1;\nvar len = types.length;\nwhile (++i < len) {\n  if (types[i] && types[i].test && types[i].test()) {\n    scheduleDrain = types[i].install(nextTick);\n    break;\n  }\n}\n// v8 likes predictible objects\nfunction Item(fun, array) {\n  this.fun = fun;\n  this.array = array;\n}\nItem.prototype.run = function () {\n  var fun = this.fun;\n  var array = this.array;\n  switch (array.length) {\n    case 0:\n      return fun();\n    case 1:\n      return fun(array[0]);\n    case 2:\n      return fun(array[0], array[1]);\n    case 3:\n      return fun(array[0], array[1], array[2]);\n    default:\n      return fun.apply(null, array);\n  }\n};\nmodule.exports = immediate;\nfunction immediate(task) {\n  var args = new Array(arguments.length - 1);\n  if (arguments.length > 1) {\n    for (var i = 1; i < arguments.length; i++) {\n      args[i - 1] = arguments[i];\n    }\n  }\n  queue.push(new Item(task, args));\n  if (!scheduled && !draining) {\n    scheduled = true;\n    scheduleDrain();\n  }\n}","'use strict';\n\nexports.test = function () {\n  return typeof global.queueMicrotask === 'function';\n};\nexports.install = function (func) {\n  return function () {\n    global.queueMicrotask(func);\n  };\n};","'use strict';\n\n//based off rsvp https://github.com/tildeio/rsvp.js\n//license https://github.com/tildeio/rsvp.js/blob/master/LICENSE\n//https://github.com/tildeio/rsvp.js/blob/master/lib/rsvp/asap.js\nvar Mutation = global.MutationObserver || global.WebKitMutationObserver;\nexports.test = function () {\n  return Mutation;\n};\nexports.install = function (handle) {\n  var called = 0;\n  var observer = new Mutation(handle);\n  var element = global.document.createTextNode('');\n  observer.observe(element, {\n    characterData: true\n  });\n  return function () {\n    element.data = called = ++called % 2;\n  };\n};","'use strict';\n\nexports.test = function () {\n  if (global.setImmediate) {\n    // we can only get here in IE10\n    // which doesn't handel postMessage well\n    return false;\n  }\n  return typeof global.MessageChannel !== 'undefined';\n};\nexports.install = function (func) {\n  var channel = new global.MessageChannel();\n  channel.port1.onmessage = func;\n  return function () {\n    channel.port2.postMessage(0);\n  };\n};","'use strict';\n\nexports.test = function () {\n  return 'document' in global && 'onreadystatechange' in global.document.createElement('script');\n};\nexports.install = function (handle) {\n  return function () {\n    // Create a