1;(function (global, factory) { 2 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 3 typeof define === 'function' && define.amd ? define(factory) : 4 global.moment = factory()
vendor: 56,293 bytes, lines 4-1764
4 5}(this, (function () { 'use strict'; 6 7 var hookCallback; 8 9 function hooks () { 10 return hookCallback.apply(null, arguments); 11 } 12 13 // This is done to register the method called with moment() 14 // without creating circular dependencies. 15 function setHookCallback (callback) { 16 hookCallback = callback; 17 } 18 19 function isArray(input) { 20 return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; 21 } 22 23 function isObject(input) { 24 // IE8 will treat undefined and null as object if it wasn't for 25 // input != null 26 return input != null && Object.prototype.toString.call(input) === '[object Object]'; 27 } 28 29 function isObjectEmpty(obj) { 30 if (Object.getOwnPropertyNames) { 31 return (Object.getOwnPropertyNames(obj).length === 0); 32 } else { 33 var k; 34 for (k in obj) { 35 if (obj.hasOwnProperty(k)) { 36 return false; 37 } 38 } 39 return true; 40 } 41 } 42 43 function isUndefined(input) { 44 return input === void 0; 45 } 46 47 function isNumber(input) { 48 return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; 49 } 50 51 function isDate(input) { 52 return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; 53 } 54 55 function map(arr, fn) { 56 var res = [], i; 57 for (i = 0; i < arr.length; ++i) { 58 res.push(fn(arr[i], i)); 59 } 60 return res; 61 } 62 63 function hasOwnProp(a, b) { 64 return Object.prototype.hasOwnProperty.call(a, b); 65 } 66 67 function extend(a, b) { 68 for (var i in b) { 69 if (hasOwnProp(b, i)) { 70 a[i] = b[i]; 71 } 72 } 73 74 if (hasOwnProp(b, 'toString')) { 75 a.toString = b.toString; 76 } 77 78 if (hasOwnProp(b, 'valueOf')) { 79 a.valueOf = b.valueOf; 80 } 81 82 return a; 83 } 84 85 function createUTC (input, format, locale, strict) { 86 return createLocalOrUTC(input, format, locale, strict, true).utc(); 87 } 88 89 function defaultParsingFlags() { 90 // We need to deep clone this object. 91 return { 92 empty : false, 93 unusedTokens : [], 94 unusedInput : [], 95 overflow : -2, 96 charsLeftOver : 0, 97 nullInput : false, 98 invalidMonth : null, 99 invalidFormat : false, 100 userInvalidated : false, 101 iso : false, 102 parsedDateParts : [], 103 meridiem : null, 104 rfc2822 : false, 105 weekdayMismatch : false 106 }; 107 } 108 109 function getParsingFlags(m) { 110 if (m._pf == null) { 111 m._pf = defaultParsingFlags(); 112 } 113 return m._pf; 114 } 115 116 var some; 117 if (Array.prototype.some) { 118 some = Array.prototype.some; 119 } else { 120 some = function (fun) { 121 var t = Object(this); 122 var len = t.length >>> 0; 123 124 for (var i = 0; i < len; i++) { 125 if (i in t && fun.call(this, t[i], i, t)) { 126 return true; 127 } 128 } 129 130 return false; 131 }; 132 } 133 134 function isValid(m) { 135 if (m._isValid == null) { 136 var flags = getParsingFlags(m); 137 var parsedParts = some.call(flags.parsedDateParts, function (i) { 138 return i != null; 139 }); 140 var isNowValid = !isNaN(m._d.getTime()) && 141 flags.overflow < 0 && 142 !flags.empty && 143 !flags.invalidMonth && 144 !flags.invalidWeekday && 145 !flags.weekdayMismatch && 146 !flags.nullInput && 147 !flags.invalidFormat && 148 !flags.userInvalidated && 149 (!flags.meridiem || (flags.meridiem && parsedParts)); 150 151 if (m._strict) { 152 isNowValid = isNowValid && 153 flags.charsLeftOver === 0 && 154 flags.unusedTokens.length === 0 && 155 flags.bigHour === undefined; 156 } 157 158 if (Object.isFrozen == null || !Object.isFrozen(m)) { 159 m._isValid = isNowValid; 160 } 161 else { 162 return isNowValid; 163 } 164 } 165 return m._isValid; 166 } 167 168 function createInvalid (flags) { 169 var m = createUTC(NaN); 170 if (flags != null) { 171 extend(getParsingFlags(m), flags); 172 } 173 else { 174 getParsingFlags(m).userInvalidated = true; 175 } 176 177 return m; 178 } 179 180 // Plugins that add properties should also add the key here (null value), 181 // so we can properly clone ourselves. 182 var momentProperties = hooks.momentProperties = []; 183 184 function copyConfig(to, from) { 185 var i, prop, val; 186 187 if (!isUndefined(from._isAMomentObject)) { 188 to._isAMomentObject = from._isAMomentObject; 189 } 190 if (!isUndefined(from._i)) { 191 to._i = from._i; 192 } 193 if (!isUndefined(from._f)) { 194 to._f = from._f; 195 } 196 if (!isUndefined(from._l)) { 197 to._l = from._l; 198 } 199 if (!isUndefined(from._strict)) { 200 to._strict = from._strict; 201 } 202 if (!isUndefined(from._tzm)) { 203 to._tzm = from._tzm; 204 } 205 if (!isUndefined(from._isUTC)) { 206 to._isUTC = from._isUTC; 207 } 208 if (!isUndefined(from._offset)) { 209 to._offset = from._offset; 210 } 211 if (!isUndefined(from._pf)) { 212 to._pf = getParsingFlags(from); 213 } 214 if (!isUndefined(from._locale)) { 215 to._locale = from._locale; 216 } 217 218 if (momentProperties.length > 0) { 219 for (i = 0; i < momentProperties.length; i++) { 220 prop = momentProperties[i]; 221 val = from[prop]; 222 if (!isUndefined(val)) { 223 to[prop] = val; 224 } 225 } 226 } 227 228 return to; 229 } 230 231 var updateInProgress = false; 232 233 // Moment prototype object 234 function Moment(config) { 235 copyConfig(this, config); 236 this._d = new Date(config._d != null ? config._d.getTime() : NaN); 237 if (!this.isValid()) { 238 this._d = new Date(NaN); 239 } 240 // Prevent infinite loop in case updateOffset creates new moment 241 // objects. 242 if (updateInProgress === false) { 243 updateInProgress = true; 244 hooks.updateOffset(this); 245 updateInProgress = false; 246 } 247 } 248 249 function isMoment (obj) { 250 return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); 251 } 252 253 function absFloor (number) { 254 if (number < 0) { 255 // -0 -> 0 256 return Math.ceil(number) || 0; 257 } else { 258 return Math.floor(number); 259 } 260 } 261 262 function toInt(argumentForCoercion) { 263 var coercedNumber = +argumentForCoercion, 264 value = 0; 265 266 if (coercedNumber !== 0 && isFinite(coercedNumber)) { 267 value = absFloor(coercedNumber); 268 } 269 270 return value; 271 } 272 273 // compare two arrays, return the number of differences 274 function compareArrays(array1, array2, dontConvert) { 275 var len = Math.min(array1.length, array2.length), 276 lengthDiff = Math.abs(array1.length - array2.length), 277 diffs = 0, 278 i; 279 for (i = 0; i < len; i++) { 280 if ((dontConvert && array1[i] !== array2[i]) || 281 (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { 282 diffs++; 283 } 284 } 285 return diffs + lengthDiff; 286 } 287 288 function warn(msg) { 289 if (hooks.suppressDeprecationWarnings === false && 290 (typeof console !== 'undefined') && console.warn) { 291 console.warn('Deprecation warning: ' + msg); 292 } 293 } 294 295 function deprecate(msg, fn) { 296 var firstTime = true; 297 298 return extend(function () { 299 if (hooks.deprecationHandler != null) { 300 hooks.deprecationHandler(null, msg); 301 } 302 if (firstTime) { 303 var args = []; 304 var arg; 305 for (var i = 0; i < arguments.length; i++) { 306 arg = ''; 307 if (typeof arguments[i] === 'object') { 308 arg += '\n[' + i + '] '; 309 for (var key in arguments[0]) { 310 arg += key + ': ' + arguments[0][key] + ', '; 311 } 312 arg = arg.slice(0, -2); // Remove trailing comma and space 313 } else { 314 arg = arguments[i]; 315 } 316 args.push(arg); 317 } 318 warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); 319 firstTime = false; 320 } 321 return fn.apply(this, arguments); 322 }, fn); 323 } 324 325 var deprecations = {}; 326 327 function deprecateSimple(name, msg) { 328 if (hooks.deprecationHandler != null) { 329 hooks.deprecationHandler(name, msg); 330 } 331 if (!deprecations[name]) { 332 warn(msg); 333 deprecations[name] = true; 334 } 335 } 336 337 hooks.suppressDeprecationWarnings = false; 338 hooks.deprecationHandler = null; 339 340 function isFunction(input) { 341 return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; 342 } 343 344 function set (config) { 345 var prop, i; 346 for (i in config) { 347 prop = config[i]; 348 if (isFunction(prop)) { 349 this[i] = prop; 350 } else { 351 this['_' + i] = prop; 352 } 353 } 354 this._config = config; 355 // Lenient ordinal parsing accepts just a number in addition to 356 // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. 357 // TODO: Remove "ordinalParse" fallback in next major release. 358 this._dayOfMonthOrdinalParseLenient = new RegExp( 359 (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + 360 '|' + (/\d{1,2}/).source); 361 } 362 363 function mergeConfigs(parentConfig, childConfig) { 364 var res = extend({}, parentConfig), prop; 365 for (prop in childConfig) { 366 if (hasOwnProp(childConfig, prop)) { 367 if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { 368 res[prop] = {}; 369 extend(res[prop], parentConfig[prop]); 370 extend(res[prop], childConfig[prop]); 371 } else if (childConfig[prop] != null) { 372 res[prop] = childConfig[prop]; 373 } else { 374 delete res[prop]; 375 } 376 } 377 } 378 for (prop in parentConfig) { 379 if (hasOwnProp(parentConfig, prop) && 380 !hasOwnProp(childConfig, prop) && 381 isObject(parentConfig[prop])) { 382 // make sure changes to properties don't modify parent config 383 res[prop] = extend({}, res[prop]); 384 } 385 } 386 return res; 387 } 388 389 function Locale(config) { 390 if (config != null) { 391 this.set(config); 392 } 393 } 394 395 var keys; 396 397 if (Object.keys) { 398 keys = Object.keys; 399 } else { 400 keys = function (obj) { 401 var i, res = []; 402 for (i in obj) { 403 if (hasOwnProp(obj, i)) { 404 res.push(i); 405 } 406 } 407 return res; 408 }; 409 } 410 411 var defaultCalendar = { 412 sameDay : '[Today at] LT', 413 nextDay : '[Tomorrow at] LT', 414 nextWeek : 'dddd [at] LT', 415 lastDay : '[Yesterday at] LT', 416 lastWeek : '[Last] dddd [at] LT', 417 sameElse : 'L' 418 }; 419 420 function calendar (key, mom, now) { 421 var output = this._calendar[key] || this._calendar['sameElse']; 422 return isFunction(output) ? output.call(mom, now) : output; 423 } 424 425 var defaultLongDateFormat = { 426 LTS : 'h:mm:ss A', 427 LT : 'h:mm A', 428 L : 'MM/DD/YYYY', 429 LL : 'MMMM D, YYYY', 430 LLL : 'MMMM D, YYYY h:mm A', 431 LLLL : 'dddd, MMMM D, YYYY h:mm A' 432 }; 433 434 function longDateFormat (key) { 435 var format = this._longDateFormat[key], 436 formatUpper = this._longDateFormat[key.toUpperCase()]; 437 438 if (format || !formatUpper) { 439 return format; 440 } 441 442 this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { 443 return val.slice(1); 444 }); 445 446 return this._longDateFormat[key]; 447 } 448 449 var defaultInvalidDate = 'Invalid date'; 450 451 function invalidDate () { 452 return this._invalidDate; 453 } 454 455 var defaultOrdinal = '%d'; 456 var defaultDayOfMonthOrdinalParse = /\d{1,2}/; 457 458 function ordinal (number) { 459 return this._ordinal.replace('%d', number); 460 } 461 462 var defaultRelativeTime = { 463 future : 'in %s', 464 past : '%s ago', 465 s : 'a few seconds', 466 ss : '%d seconds', 467 m : 'a minute', 468 mm : '%d minutes', 469 h : 'an hour', 470 hh : '%d hours', 471 d : 'a day', 472 dd : '%d days', 473 M : 'a month', 474 MM : '%d months', 475 y : 'a year', 476 yy : '%d years' 477 }; 478 479 function relativeTime (number, withoutSuffix, string, isFuture) { 480 var output = this._relativeTime[string]; 481 return (isFunction(output)) ? 482 output(number, withoutSuffix, string, isFuture) : 483 output.replace(/%d/i, number); 484 } 485 486 function pastFuture (diff, output) { 487 var format = this._relativeTime[diff > 0 ? 'future' : 'past']; 488 return isFunction(format) ? format(output) : format.replace(/%s/i, output); 489 } 490 491 var aliases = {}; 492 493 function addUnitAlias (unit, shorthand) { 494 var lowerCase = unit.toLowerCase(); 495 aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; 496 } 497 498 function normalizeUnits(units) { 499 return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; 500 } 501 502 function normalizeObjectUnits(inputObject) { 503 var normalizedInput = {}, 504 normalizedProp, 505 prop; 506 507 for (prop in inputObject) { 508 if (hasOwnProp(inputObject, prop)) { 509 normalizedProp = normalizeUnits(prop); 510 if (normalizedProp) { 511 normalizedInput[normalizedProp] = inputObject[prop]; 512 } 513 } 514 } 515 516 return normalizedInput; 517 } 518 519 var priorities = {}; 520 521 function addUnitPriority(unit, priority) { 522 priorities[unit] = priority; 523 } 524 525 function getPrioritizedUnits(unitsObj) { 526 var units = []; 527 for (var u in unitsObj) { 528 units.push({unit: u, priority: priorities[u]}); 529 } 530 units.sort(function (a, b) { 531 return a.priority - b.priority; 532 }); 533 return units; 534 } 535 536 function zeroFill(number, targetLength, forceSign) { 537 var absNumber = '' + Math.abs(number), 538 zerosToFill = targetLength - absNumber.length, 539 sign = number >= 0; 540 return (sign ? (forceSign ? '+' : '') : '-') + 541 Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; 542 } 543 544 var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; 545 546 var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; 547 548 var formatFunctions = {}; 549 550 var formatTokenFunctions = {}; 551 552 // token: 'M' 553 // padded: ['MM', 2] 554 // ordinal: 'Mo' 555 // callback: function () { this.month() + 1 } 556 function addFormatToken (token, padded, ordinal, callback) { 557 var func = callback; 558 if (typeof callback === 'string') { 559 func = function () { 560 return this[callback](); 561 }; 562 } 563 if (token) { 564 formatTokenFunctions[token] = func; 565 } 566 if (padded) { 567 formatTokenFunctions[padded[0]] = function () { 568 return zeroFill(func.apply(this, arguments), padded[1], padded[2]); 569 }; 570 } 571 if (ordinal) { 572 formatTokenFunctions[ordinal] = function () { 573 return this.localeData().ordinal(func.apply(this, arguments), token); 574 }; 575 } 576 } 577 578 function removeFormattingTokens(input) { 579 if (input.match(/\[[\s\S]/)) { 580 return input.replace(/^\[|\]$/g, ''); 581 } 582 return input.replace(/\\/g, ''); 583 } 584 585 function makeFormatFunction(format) { 586 var array = format.match(formattingTokens), i, length; 587 588 for (i = 0, length = array.length; i < length; i++) { 589 if (formatTokenFunctions[array[i]]) { 590 array[i] = formatTokenFunctions[array[i]]; 591 } else { 592 array[i] = removeFormattingTokens(array[i]); 593 } 594 } 595 596 return function (mom) { 597 var output = '', i; 598 for (i = 0; i < length; i++) { 599 output += isFunction(array[i]) ? array[i].call(mom, format) : array[i]; 600 } 601 return output; 602 }; 603 } 604 605 // format date using native date object 606 function formatMoment(m, format) { 607 if (!m.isValid()) { 608 return m.localeData().invalidDate(); 609 } 610 611 format = expandFormat(format, m.localeData()); 612 formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); 613 614 return formatFunctions[format](m); 615 } 616 617 function expandFormat(format, locale) { 618 var i = 5; 619 620 function replaceLongDateFormatTokens(input) { 621 return locale.longDateFormat(input) || input; 622 } 623 624 localFormattingTokens.lastIndex = 0; 625 while (i >= 0 && localFormattingTokens.test(format)) { 626 format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); 627 localFormattingTokens.lastIndex = 0; 628 i -= 1; 629 } 630 631 return format; 632 } 633 634 var match1 = /\d/; // 0 - 9 635 var match2 = /\d\d/; // 00 - 99 636 var match3 = /\d{3}/; // 000 - 999 637 var match4 = /\d{4}/; // 0000 - 9999 638 var match6 = /[+-]?\d{6}/; // -999999 - 999999 639 var match1to2 = /\d\d?/; // 0 - 99 640 var match3to4 = /\d\d\d\d?/; // 999 - 9999 641 var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 642 var match1to3 = /\d{1,3}/; // 0 - 999 643 var match1to4 = /\d{1,4}/; // 0 - 9999 644 var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 645 646 var matchUnsigned = /\d+/; // 0 - inf 647 var matchSigned = /[+-]?\d+/; // -inf - inf 648 649 var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z 650 var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z 651 652 var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 653 654 // any word (or two) characters or numbers including two/three word month in arabic. 655 // includes scottish gaelic two word and hyphenated months 656 var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; 657 658 var regexes = {}; 659 660 function addRegexToken (token, regex, strictRegex) { 661 regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) { 662 return (isStrict && strictRegex) ? strictRegex : regex; 663 }; 664 } 665 666 function getParseRegexForToken (token, config) { 667 if (!hasOwnProp(regexes, token)) { 668 return new RegExp(unescapeFormat(token)); 669 } 670 671 return regexes[token](config._strict, config._locale); 672 } 673 674 // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript 675 function unescapeFormat(s) { 676 return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { 677 return p1 || p2 || p3 || p4; 678 })); 679 } 680 681 function regexEscape(s) { 682 return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); 683 } 684 685 var tokens = {}; 686 687 function addParseToken (token, callback) { 688 var i, func = callback; 689 if (typeof token === 'string') { 690 token = [token]; 691 } 692 if (isNumber(callback)) { 693 func = function (input, array) { 694 array[callback] = toInt(input); 695 }; 696 } 697 for (i = 0; i < token.length; i++) { 698 tokens[token[i]] = func; 699 } 700 } 701 702 function addWeekParseToken (token, callback) { 703 addParseToken(token, function (input, array, config, token) { 704 config._w = config._w || {}; 705 callback(input, config._w, config, token); 706 }); 707 } 708 709 function addTimeToArrayFromToken(token, input, config) { 710 if (input != null && hasOwnProp(tokens, token)) { 711 tokens[token](input, config._a, config, token); 712 } 713 } 714 715 var YEAR = 0; 716 var MONTH = 1; 717 var DATE = 2; 718 var HOUR = 3; 719 var MINUTE = 4; 720 var SECOND = 5; 721 var MILLISECOND = 6; 722 var WEEK = 7; 723 var WEEKDAY = 8; 724 725 // FORMATTING 726 727 addFormatToken('Y', 0, 0, function () { 728 var y = this.year(); 729 return y <= 9999 ? '' + y : '+' + y; 730 }); 731 732 addFormatToken(0, ['YY', 2], 0, function () { 733 return this.year() % 100; 734 }); 735 736 addFormatToken(0, ['YYYY', 4], 0, 'year'); 737 addFormatToken(0, ['YYYYY', 5], 0, 'year'); 738 addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); 739 740 // ALIASES 741 742 addUnitAlias('year', 'y'); 743 744 // PRIORITIES 745 746 addUnitPriority('year', 1); 747 748 // PARSING 749 750 addRegexToken('Y', matchSigned); 751 addRegexToken('YY', match1to2, match2); 752 addRegexToken('YYYY', match1to4, match4); 753 addRegexToken('YYYYY', match1to6, match6); 754 addRegexToken('YYYYYY', match1to6, match6); 755 756 addParseToken(['YYYYY', 'YYYYYY'], YEAR); 757 addParseToken('YYYY', function (input, array) { 758 array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); 759 }); 760 addParseToken('YY', function (input, array) { 761 array[YEAR] = hooks.parseTwoDigitYear(input); 762 }); 763 addParseToken('Y', function (input, array) { 764 array[YEAR] = parseInt(input, 10); 765 }); 766 767 // HELPERS 768 769 function daysInYear(year) { 770 return isLeapYear(year) ? 366 : 365; 771 } 772 773 function isLeapYear(year) { 774 return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; 775 } 776 777 // HOOKS 778 779 hooks.parseTwoDigitYear = function (input) { 780 return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); 781 }; 782 783 // MOMENTS 784 785 var getSetYear = makeGetSet('FullYear', true); 786 787 function getIsLeapYear () { 788 return isLeapYear(this.year()); 789 } 790 791 function makeGetSet (unit, keepTime) { 792 return function (value) { 793 if (value != null) { 794 set$1(this, unit, value); 795 hooks.updateOffset(this, keepTime); 796 return this; 797 } else { 798 return get(this, unit); 799 } 800 }; 801 } 802 803 function get (mom, unit) { 804 return mom.isValid() ? 805 mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; 806 } 807 808 function set$1 (mom, unit, value) { 809 if (mom.isValid() && !isNaN(value)) { 810 if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { 811 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); 812 } 813 else { 814 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); 815 } 816 } 817 } 818 819 // MOMENTS 820 821 function stringGet (units) { 822 units = normalizeUnits(units); 823 if (isFunction(this[units])) { 824 return this[units](); 825 } 826 return this; 827 } 828 829 830 function stringSet (units, value) { 831 if (typeof units === 'object') { 832 units = normalizeObjectUnits(units); 833 var prioritized = getPrioritizedUnits(units); 834 for (var i = 0; i < prioritized.length; i++) { 835 this[prioritized[i].unit](units[prioritized[i].unit]); 836 } 837 } else { 838 units = normalizeUnits(units); 839 if (isFunction(this[units])) { 840 return this[units](value); 841 } 842 } 843 return this; 844 } 845 846 function mod(n, x) { 847 return ((n % x) + x) % x; 848 } 849 850 var indexOf; 851 852 if (Array.prototype.indexOf) { 853 indexOf = Array.prototype.indexOf; 854 } else { 855 indexOf = function (o) { 856 // I know 857 var i; 858 for (i = 0; i < this.length; ++i) { 859 if (this[i] === o) { 860 return i; 861 } 862 } 863 return -1; 864 }; 865 } 866 867 function daysInMonth(year, month) { 868 if (isNaN(year) || isNaN(month)) { 869 return NaN; 870 } 871 var modMonth = mod(month, 12); 872 year += (month - modMonth) / 12; 873 return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2); 874 } 875 876 // FORMATTING 877 878 addFormatToken('M', ['MM', 2], 'Mo', function () { 879 return this.month() + 1; 880 }); 881 882 addFormatToken('MMM', 0, 0, function (format) { 883 return this.localeData().monthsShort(this, format); 884 }); 885 886 addFormatToken('MMMM', 0, 0, function (format) { 887 return this.localeData().months(this, format); 888 }); 889 890 // ALIASES 891 892 addUnitAlias('month', 'M'); 893 894 // PRIORITY 895 896 addUnitPriority('month', 8); 897 898 // PARSING 899 900 addRegexToken('M', match1to2); 901 addRegexToken('MM', match1to2, match2); 902 addRegexToken('MMM', function (isStrict, locale) { 903 return locale.monthsShortRegex(isStrict); 904 }); 905 addRegexToken('MMMM', function (isStrict, locale) { 906 return locale.monthsRegex(isStrict); 907 }); 908 909 addParseToken(['M', 'MM'], function (input, array) { 910 array[MONTH] = toInt(input) - 1; 911 }); 912 913 addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { 914 var month = config._locale.monthsParse(input, token, config._strict); 915 // if we didn't find a month name, mark the date as invalid. 916 if (month != null) { 917 array[MONTH] = month; 918 } else { 919 getParsingFlags(config).invalidMonth = input; 920 } 921 }); 922 923 // LOCALES 924 925 var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; 926 var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); 927 function localeMonths (m, format) { 928 if (!m) { 929 return isArray(this._months) ? this._months : 930 this._months['standalone']; 931 } 932 return isArray(this._months) ? this._months[m.month()] : 933 this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; 934 } 935 936 var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); 937 function localeMonthsShort (m, format) { 938 if (!m) { 939 return isArray(this._monthsShort) ? this._monthsShort : 940 this._monthsShort['standalone']; 941 } 942 return isArray(this._monthsShort) ? this._monthsShort[m.month()] : 943 this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; 944 } 945 946 function handleStrictParse(monthName, format, strict) { 947 var i, ii, mom, llc = monthName.toLocaleLowerCase(); 948 if (!this._monthsParse) { 949 // this is not used 950 this._monthsParse = []; 951 this._longMonthsParse = []; 952 this._shortMonthsParse = []; 953 for (i = 0; i < 12; ++i) { 954 mom = createUTC([2000, i]); 955 this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); 956 this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); 957 } 958 } 959 960 if (strict) { 961 if (format === 'MMM') { 962 ii = indexOf.call(this._shortMonthsParse, llc); 963 return ii !== -1 ? ii : null; 964 } else { 965 ii = indexOf.call(this._longMonthsParse, llc); 966 return ii !== -1 ? ii : null; 967 } 968 } else { 969 if (format === 'MMM') { 970 ii = indexOf.call(this._shortMonthsParse, llc); 971 if (ii !== -1) { 972 return ii; 973 } 974 ii = indexOf.call(this._longMonthsParse, llc); 975 return ii !== -1 ? ii : null; 976 } else { 977 ii = indexOf.call(this._longMonthsParse, llc); 978 if (ii !== -1) { 979 return ii; 980 } 981 ii = indexOf.call(this._shortMonthsParse, llc); 982 return ii !== -1 ? ii : null; 983 } 984 } 985 } 986 987 function localeMonthsParse (monthName, format, strict) { 988 var i, mom, regex; 989 990 if (this._monthsParseExact) { 991 return handleStrictParse.call(this, monthName, format, strict); 992 } 993 994 if (!this._monthsParse) { 995 this._monthsParse = []; 996 this._longMonthsParse = []; 997 this._shortMonthsParse = []; 998 } 999 1000 // TODO: add sorting 1001 // Sorting makes sure if one month (or abbr) is a prefix of another 1002 // see sorting in computeMonthsParse 1003 for (i = 0; i < 12; i++) { 1004 // make the regex if we don't have it already 1005 mom = createUTC([2000, i]); 1006 if (strict && !this._longMonthsParse[i]) { 1007 this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); 1008 this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); 1009 } 1010 if (!strict && !this._monthsParse[i]) { 1011 regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); 1012 this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); 1013 } 1014 // test the regex 1015 if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { 1016 return i; 1017 } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { 1018 return i; 1019 } else if (!strict && this._monthsParse[i].test(monthName)) { 1020 return i; 1021 } 1022 } 1023 } 1024 1025 // MOMENTS 1026 1027 function setMonth (mom, value) { 1028 var dayOfMonth; 1029 1030 if (!mom.isValid()) { 1031 // No op 1032 return mom; 1033 } 1034 1035 if (typeof value === 'string') { 1036 if (/^\d+$/.test(value)) { 1037 value = toInt(value); 1038 } else { 1039 value = mom.localeData().monthsParse(value); 1040 // TODO: Another silent failure? 1041 if (!isNumber(value)) { 1042 return mom; 1043 } 1044 } 1045 } 1046 1047 dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); 1048 mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); 1049 return mom; 1050 } 1051 1052 function getSetMonth (value) { 1053 if (value != null) { 1054 setMonth(this, value); 1055 hooks.updateOffset(this, true); 1056 return this; 1057 } else { 1058 return get(this, 'Month'); 1059 } 1060 } 1061 1062 function getDaysInMonth () { 1063 return daysInMonth(this.year(), this.month()); 1064 } 1065 1066 var defaultMonthsShortRegex = matchWord; 1067 function monthsShortRegex (isStrict) { 1068 if (this._monthsParseExact) { 1069 if (!hasOwnProp(this, '_monthsRegex')) { 1070 computeMonthsParse.call(this); 1071 } 1072 if (isStrict) { 1073 return this._monthsShortStrictRegex; 1074 } else { 1075 return this._monthsShortRegex; 1076 } 1077 } else { 1078 if (!hasOwnProp(this, '_monthsShortRegex')) { 1079 this._monthsShortRegex = defaultMonthsShortRegex; 1080 } 1081 return this._monthsShortStrictRegex && isStrict ? 1082 this._monthsShortStrictRegex : this._monthsShortRegex; 1083 } 1084 } 1085 1086 var defaultMonthsRegex = matchWord; 1087 function monthsRegex (isStrict) { 1088 if (this._monthsParseExact) { 1089 if (!hasOwnProp(this, '_monthsRegex')) { 1090 computeMonthsParse.call(this); 1091 } 1092 if (isStrict) { 1093 return this._monthsStrictRegex; 1094 } else { 1095 return this._monthsRegex; 1096 } 1097 } else { 1098 if (!hasOwnProp(this, '_monthsRegex')) { 1099 this._monthsRegex = defaultMonthsRegex; 1100 } 1101 return this._monthsStrictRegex && isStrict ? 1102 this._monthsStrictRegex : this._monthsRegex; 1103 } 1104 } 1105 1106 function computeMonthsParse () { 1107 function cmpLenRev(a, b) { 1108 return b.length - a.length; 1109 } 1110 1111 var shortPieces = [], longPieces = [], mixedPieces = [], 1112 i, mom; 1113 for (i = 0; i < 12; i++) { 1114 // make the regex if we don't have it already 1115 mom = createUTC([2000, i]); 1116 shortPieces.push(this.monthsShort(mom, '')); 1117 longPieces.push(this.months(mom, '')); 1118 mixedPieces.push(this.months(mom, '')); 1119 mixedPieces.push(this.monthsShort(mom, '')); 1120 } 1121 // Sorting makes sure if one month (or abbr) is a prefix of another it 1122 // will match the longer piece. 1123 shortPieces.sort(cmpLenRev); 1124 longPieces.sort(cmpLenRev); 1125 mixedPieces.sort(cmpLenRev); 1126 for (i = 0; i < 12; i++) { 1127 shortPieces[i] = regexEscape(shortPieces[i]); 1128 longPieces[i] = regexEscape(longPieces[i]); 1129 } 1130 for (i = 0; i < 24; i++) { 1131 mixedPieces[i] = regexEscape(mixedPieces[i]); 1132 } 1133 1134 this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); 1135 this._monthsShortRegex = this._monthsRegex; 1136 this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); 1137 this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); 1138 } 1139 1140 function createDate (y, m, d, h, M, s, ms) { 1141 // can't just apply() to create a date: 1142 // https://stackoverflow.com/q/181348 1143 var date; 1144 // the date constructor remaps years 0-99 to 1900-1999 1145 if (y < 100 && y >= 0) { 1146 // preserve leap years using a full 400 year cycle, then reset 1147 date = new Date(y + 400, m, d, h, M, s, ms); 1148 if (isFinite(date.getFullYear())) { 1149 date.setFullYear(y); 1150 } 1151 } else { 1152 date = new Date(y, m, d, h, M, s, ms); 1153 } 1154 1155 return date; 1156 } 1157 1158 function createUTCDate (y) { 1159 var date; 1160 // the Date.UTC function remaps years 0-99 to 1900-1999 1161 if (y < 100 && y >= 0) { 1162 var args = Array.prototype.slice.call(arguments); 1163 // preserve leap years using a full 400 year cycle, then reset 1164 args[0] = y + 400; 1165 date = new Date(Date.UTC.apply(null, args)); 1166 if (isFinite(date.getUTCFullYear())) { 1167 date.setUTCFullYear(y); 1168 } 1169 } else { 1170 date = new Date(Date.UTC.apply(null, arguments)); 1171 } 1172 1173 return date; 1174 } 1175 1176 // start-of-first-week - start-of-year 1177 function firstWeekOffset(year, dow, doy) { 1178 var // first-week day -- which january is always in the first week (4 for iso, 1 for other) 1179 fwd = 7 + dow - doy, 1180 // first-week day local weekday -- which local weekday is fwd 1181 fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; 1182 1183 return -fwdlw + fwd - 1; 1184 } 1185 1186 // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday 1187 function dayOfYearFromWeeks(year, week, weekday, dow, doy) { 1188 var localWeekday = (7 + weekday - dow) % 7, 1189 weekOffset = firstWeekOffset(year, dow, doy), 1190 dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, 1191 resYear, resDayOfYear; 1192 1193 if (dayOfYear <= 0) { 1194 resYear = year - 1; 1195 resDayOfYear = daysInYear(resYear) + dayOfYear; 1196 } else if (dayOfYear > daysInYear(year)) { 1197 resYear = year + 1; 1198 resDayOfYear = dayOfYear - daysInYear(year); 1199 } else { 1200 resYear = year; 1201 resDayOfYear = dayOfYear; 1202 } 1203 1204 return { 1205 year: resYear, 1206 dayOfYear: resDayOfYear 1207 }; 1208 } 1209 1210 function weekOfYear(mom, dow, doy) { 1211 var weekOffset = firstWeekOffset(mom.year(), dow, doy), 1212 week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, 1213 resWeek, resYear; 1214 1215 if (week < 1) { 1216 resYear = mom.year() - 1; 1217 resWeek = week + weeksInYear(resYear, dow, doy); 1218 } else if (week > weeksInYear(mom.year(), dow, doy)) { 1219 resWeek = week - weeksInYear(mom.year(), dow, doy); 1220 resYear = mom.year() + 1; 1221 } else { 1222 resYear = mom.year(); 1223 resWeek = week; 1224 } 1225 1226 return { 1227 week: resWeek, 1228 year: resYear 1229 }; 1230 } 1231 1232 function weeksInYear(year, dow, doy) { 1233 var weekOffset = firstWeekOffset(year, dow, doy), 1234 weekOffsetNext = firstWeekOffset(year + 1, dow, doy); 1235 return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; 1236 } 1237 1238 // FORMATTING 1239 1240 addFormatToken('w', ['ww', 2], 'wo', 'week'); 1241 addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); 1242 1243 // ALIASES 1244 1245 addUnitAlias('week', 'w'); 1246 addUnitAlias('isoWeek', 'W'); 1247 1248 // PRIORITIES 1249 1250 addUnitPriority('week', 5); 1251 addUnitPriority('isoWeek', 5); 1252 1253 // PARSING 1254 1255 addRegexToken('w', match1to2); 1256 addRegexToken('ww', match1to2, match2); 1257 addRegexToken('W', match1to2); 1258 addRegexToken('WW', match1to2, match2); 1259 1260 addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { 1261 week[token.substr(0, 1)] = toInt(input); 1262 }); 1263 1264 // HELPERS 1265 1266 // LOCALES 1267 1268 function localeWeek (mom) { 1269 return weekOfYear(mom, this._week.dow, this._week.doy).week; 1270 } 1271 1272 var defaultLocaleWeek = { 1273 dow : 0, // Sunday is the first day of the week. 1274 doy : 6 // The week that contains Jan 6th is the first week of the year. 1275 }; 1276 1277 function localeFirstDayOfWeek () { 1278 return this._week.dow; 1279 } 1280 1281 function localeFirstDayOfYear () { 1282 return this._week.doy; 1283 } 1284 1285 // MOMENTS 1286 1287 function getSetWeek (input) { 1288 var week = this.localeData().week(this); 1289 return input == null ? week : this.add((input - week) * 7, 'd'); 1290 } 1291 1292 function getSetISOWeek (input) { 1293 var week = weekOfYear(this, 1, 4).week; 1294 return input == null ? week : this.add((input - week) * 7, 'd'); 1295 } 1296 1297 // FORMATTING 1298 1299 addFormatToken('d', 0, 'do', 'day'); 1300 1301 addFormatToken('dd', 0, 0, function (format) { 1302 return this.localeData().weekdaysMin(this, format); 1303 }); 1304 1305 addFormatToken('ddd', 0, 0, function (format) { 1306 return this.localeData().weekdaysShort(this, format); 1307 }); 1308 1309 addFormatToken('dddd', 0, 0, function (format) { 1310 return this.localeData().weekdays(this, format); 1311 }); 1312 1313 addFormatToken('e', 0, 0, 'weekday'); 1314 addFormatToken('E', 0, 0, 'isoWeekday'); 1315 1316 // ALIASES 1317 1318 addUnitAlias('day', 'd'); 1319 addUnitAlias('weekday', 'e'); 1320 addUnitAlias('isoWeekday', 'E'); 1321 1322 // PRIORITY 1323 addUnitPriority('day', 11); 1324 addUnitPriority('weekday', 11); 1325 addUnitPriority('isoWeekday', 11); 1326 1327 // PARSING 1328 1329 addRegexToken('d', match1to2); 1330 addRegexToken('e', match1to2); 1331 addRegexToken('E', match1to2); 1332 addRegexToken('dd', function (isStrict, locale) { 1333 return locale.weekdaysMinRegex(isStrict); 1334 }); 1335 addRegexToken('ddd', function (isStrict, locale) { 1336 return locale.weekdaysShortRegex(isStrict); 1337 }); 1338 addRegexToken('dddd', function (isStrict, locale) { 1339 return locale.weekdaysRegex(isStrict); 1340 }); 1341 1342 addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { 1343 var weekday = config._locale.weekdaysParse(input, token, config._strict); 1344 // if we didn't get a weekday name, mark the date as invalid 1345 if (weekday != null) { 1346 week.d = weekday; 1347 } else { 1348 getParsingFlags(config).invalidWeekday = input; 1349 } 1350 }); 1351 1352 addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { 1353 week[token] = toInt(input); 1354 }); 1355 1356 // HELPERS 1357 1358 function parseWeekday(input, locale) { 1359 if (typeof input !== 'string') { 1360 return input; 1361 } 1362 1363 if (!isNaN(input)) { 1364 return parseInt(input, 10); 1365 } 1366 1367 input = locale.weekdaysParse(input); 1368 if (typeof input === 'number') { 1369 return input; 1370 } 1371 1372 return null; 1373 } 1374 1375 function parseIsoWeekday(input, locale) { 1376 if (typeof input === 'string') { 1377 return locale.weekdaysParse(input) % 7 || 7; 1378 } 1379 return isNaN(input) ? null : input; 1380 } 1381 1382 // LOCALES 1383 function shiftWeekdays (ws, n) { 1384 return ws.slice(n, 7).concat(ws.slice(0, n)); 1385 } 1386 1387 var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); 1388 function localeWeekdays (m, format) { 1389 var weekdays = isArray(this._weekdays) ? this._weekdays : 1390 this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone']; 1391 return (m === true) ? shiftWeekdays(weekdays, this._week.dow) 1392 : (m) ? weekdays[m.day()] : weekdays; 1393 } 1394 1395 var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); 1396 function localeWeekdaysShort (m) { 1397 return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow) 1398 : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort; 1399 } 1400 1401 var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'); 1402 function localeWeekdaysMin (m) { 1403 return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow) 1404 : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin; 1405 } 1406 1407 function handleStrictParse$1(weekdayName, format, strict) { 1408 var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); 1409 if (!this._weekdaysParse) { 1410 this._weekdaysParse = []; 1411 this._shortWeekdaysParse = []; 1412 this._minWeekdaysParse = []; 1413 1414 for (i = 0; i < 7; ++i) { 1415 mom = createUTC([2000, 1]).day(i); 1416 this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); 1417 this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); 1418 this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); 1419 } 1420 } 1421 1422 if (strict) { 1423 if (format === 'dddd') { 1424 ii = indexOf.call(this._weekdaysParse, llc); 1425 return ii !== -1 ? ii : null; 1426 } else if (format === 'ddd') { 1427 ii = indexOf.call(this._shortWeekdaysParse, llc); 1428 return ii !== -1 ? ii : null; 1429 } else { 1430 ii = indexOf.call(this._minWeekdaysParse, llc); 1431 return ii !== -1 ? ii : null; 1432 } 1433 } else { 1434 if (format === 'dddd') { 1435 ii = indexOf.call(this._weekdaysParse, llc); 1436 if (ii !== -1) { 1437 return ii; 1438 } 1439 ii = indexOf.call(this._shortWeekdaysParse, llc); 1440 if (ii !== -1) { 1441 return ii; 1442 } 1443 ii = indexOf.call(this._minWeekdaysParse, llc); 1444 return ii !== -1 ? ii : null; 1445 } else if (format === 'ddd') { 1446 ii = indexOf.call(this._shortWeekdaysParse, llc); 1447 if (ii !== -1) { 1448 return ii; 1449 } 1450 ii = indexOf.call(this._weekdaysParse, llc); 1451 if (ii !== -1) { 1452 return ii; 1453 } 1454 ii = indexOf.call(this._minWeekdaysParse, llc); 1455 return ii !== -1 ? ii : null; 1456 } else { 1457 ii = indexOf.call(this._minWeekdaysParse, llc); 1458 if (ii !== -1) { 1459 return ii; 1460 } 1461 ii = indexOf.call(this._weekdaysParse, llc); 1462 if (ii !== -1) { 1463 return ii; 1464 } 1465 ii = indexOf.call(this._shortWeekdaysParse, llc); 1466 return ii !== -1 ? ii : null; 1467 } 1468 } 1469 } 1470 1471 function localeWeekdaysParse (weekdayName, format, strict) { 1472 var i, mom, regex; 1473 1474 if (this._weekdaysParseExact) { 1475 return handleStrictParse$1.call(this, weekdayName, format, strict); 1476 } 1477 1478 if (!this._weekdaysParse) { 1479 this._weekdaysParse = []; 1480 this._minWeekdaysParse = []; 1481 this._shortWeekdaysParse = []; 1482 this._fullWeekdaysParse = []; 1483 } 1484 1485 for (i = 0; i < 7; i++) { 1486 // make the regex if we don't have it already 1487 1488 mom = createUTC([2000, 1]).day(i); 1489 if (strict && !this._fullWeekdaysParse[i]) { 1490 this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); 1491 this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); 1492 this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); 1493 } 1494 if (!this._weekdaysParse[i]) { 1495 regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); 1496 this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); 1497 } 1498 // test the regex 1499 if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { 1500 return i; 1501 } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { 1502 return i; 1503 } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { 1504 return i; 1505 } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { 1506 return i; 1507 } 1508 } 1509 } 1510 1511 // MOMENTS 1512 1513 function getSetDayOfWeek (input) { 1514 if (!this.isValid()) { 1515 return input != null ? this : NaN; 1516 } 1517 var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); 1518 if (input != null) { 1519 input = parseWeekday(input, this.localeData()); 1520 return this.add(input - day, 'd'); 1521 } else { 1522 return day; 1523 } 1524 } 1525 1526 function getSetLocaleDayOfWeek (input) { 1527 if (!this.isValid()) { 1528 return input != null ? this : NaN; 1529 } 1530 var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; 1531 return input == null ? weekday : this.add(input - weekday, 'd'); 1532 } 1533 1534 function getSetISODayOfWeek (input) { 1535 if (!this.isValid()) { 1536 return input != null ? this : NaN; 1537 } 1538 1539 // behaves the same as moment#day except 1540 // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) 1541 // as a setter, sunday should belong to the previous week. 1542 1543 if (input != null) { 1544 var weekday = parseIsoWeekday(input, this.localeData()); 1545 return this.day(this.day() % 7 ? weekday : weekday - 7); 1546 } else { 1547 return this.day() || 7; 1548 } 1549 } 1550 1551 var defaultWeekdaysRegex = matchWord; 1552 function weekdaysRegex (isStrict) { 1553 if (this._weekdaysParseExact) { 1554 if (!hasOwnProp(this, '_weekdaysRegex')) { 1555 computeWeekdaysParse.call(this); 1556 } 1557 if (isStrict) { 1558 return this._weekdaysStrictRegex; 1559 } else { 1560 return this._weekdaysRegex; 1561 } 1562 } else { 1563 if (!hasOwnProp(this, '_weekdaysRegex')) { 1564 this._weekdaysRegex = defaultWeekdaysRegex; 1565 } 1566 return this._weekdaysStrictRegex && isStrict ? 1567 this._weekdaysStrictRegex : this._weekdaysRegex; 1568 } 1569 } 1570 1571 var defaultWeekdaysShortRegex = matchWord; 1572 function weekdaysShortRegex (isStrict) { 1573 if (this._weekdaysParseExact) { 1574 if (!hasOwnProp(this, '_weekdaysRegex')) { 1575 computeWeekdaysParse.call(this); 1576 } 1577 if (isStrict) { 1578 return this._weekdaysShortStrictRegex; 1579 } else { 1580 return this._weekdaysShortRegex; 1581 } 1582 } else { 1583 if (!hasOwnProp(this, '_weekdaysShortRegex')) { 1584 this._weekdaysShortRegex = defaultWeekdaysShortRegex; 1585 } 1586 return this._weekdaysShortStrictRegex && isStrict ? 1587 this._weekdaysShortStrictRegex : this._weekdaysShortRegex; 1588 } 1589 } 1590 1591 var defaultWeekdaysMinRegex = matchWord; 1592 function weekdaysMinRegex (isStrict) { 1593 if (this._weekdaysParseExact) { 1594 if (!hasOwnProp(this, '_weekdaysRegex')) { 1595 computeWeekdaysParse.call(this); 1596 } 1597 if (isStrict) { 1598 return this._weekdaysMinStrictRegex; 1599 } else { 1600 return this._weekdaysMinRegex; 1601 } 1602 } else { 1603 if (!hasOwnProp(this, '_weekdaysMinRegex')) { 1604 this._weekdaysMinRegex = defaultWeekdaysMinRegex; 1605 } 1606 return this._weekdaysMinStrictRegex && isStrict ? 1607 this._weekdaysMinStrictRegex : this._weekdaysMinRegex; 1608 } 1609 } 1610 1611 1612 function computeWeekdaysParse () { 1613 function cmpLenRev(a, b) { 1614 return b.length - a.length; 1615 } 1616 1617 var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], 1618 i, mom, minp, shortp, longp; 1619 for (i = 0; i < 7; i++) { 1620 // make the regex if we don't have it already 1621 mom = createUTC([2000, 1]).day(i); 1622 minp = this.weekdaysMin(mom, ''); 1623 shortp = this.weekdaysShort(mom, ''); 1624 longp = this.weekdays(mom, ''); 1625 minPieces.push(minp); 1626 shortPieces.push(shortp); 1627 longPieces.push(longp); 1628 mixedPieces.push(minp); 1629 mixedPieces.push(shortp); 1630 mixedPieces.push(longp); 1631 } 1632 // Sorting makes sure if one weekday (or abbr) is a prefix of another it 1633 // will match the longer piece. 1634 minPieces.sort(cmpLenRev); 1635 shortPieces.sort(cmpLenRev); 1636 longPieces.sort(cmpLenRev); 1637 mixedPieces.sort(cmpLenRev); 1638 for (i = 0; i < 7; i++) { 1639 shortPieces[i] = regexEscape(shortPieces[i]); 1640 longPieces[i] = regexEscape(longPieces[i]); 1641 mixedPieces[i] = regexEscape(mixedPieces[i]); 1642 } 1643 1644 this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); 1645 this._weekdaysShortRegex = this._weekdaysRegex; 1646 this._weekdaysMinRegex = this._weekdaysRegex; 1647 1648 this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); 1649 this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); 1650 this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); 1651 } 1652 1653 // FORMATTING 1654 1655 function hFormat() { 1656 return this.hours() % 12 || 12; 1657 } 1658 1659 function kFormat() { 1660 return this.hours() || 24; 1661 } 1662 1663 addFormatToken('H', ['HH', 2], 0, 'hour'); 1664 addFormatToken('h', ['hh', 2], 0, hFormat); 1665 addFormatToken('k', ['kk', 2], 0, kFormat); 1666 1667 addFormatToken('hmm', 0, 0, function () { 1668 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); 1669 }); 1670 1671 addFormatToken('hmmss', 0, 0, function () { 1672 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + 1673 zeroFill(this.seconds(), 2); 1674 }); 1675 1676 addFormatToken('Hmm', 0, 0, function () { 1677 return '' + this.hours() + zeroFill(this.minutes(), 2); 1678 }); 1679 1680 addFormatToken('Hmmss', 0, 0, function () { 1681 return '' + this.hours() + zeroFill(this.minutes(), 2) + 1682 zeroFill(this.seconds(), 2); 1683 }); 1684 1685 function meridiem (token, lowercase) { 1686 addFormatToken(token, 0, 0, function () { 1687 return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); 1688 }); 1689 } 1690 1691 meridiem('a', true); 1692 meridiem('A', false); 1693 1694 // ALIASES 1695 1696 addUnitAlias('hour', 'h'); 1697 1698 // PRIORITY 1699 addUnitPriority('hour', 13); 1700 1701 // PARSING 1702 1703 function matchMeridiem (isStrict, locale) { 1704 return locale._meridiemParse; 1705 } 1706 1707 addRegexToken('a', matchMeridiem); 1708 addRegexToken('A', matchMeridiem); 1709 addRegexToken('H', match1to2); 1710 addRegexToken('h', match1to2); 1711 addRegexToken('k', match1to2); 1712 addRegexToken('HH', match1to2, match2); 1713 addRegexToken('hh', match1to2, match2); 1714 addRegexToken('kk', match1to2, match2); 1715 1716 addRegexToken('hmm', match3to4); 1717 addRegexToken('hmmss', match5to6); 1718 addRegexToken('Hmm', match3to4); 1719 addRegexToken('Hmmss', match5to6); 1720 1721 addParseToken(['H', 'HH'], HOUR); 1722 addParseToken(['k', 'kk'], function (input, array, config) { 1723 var kInput = toInt(input); 1724 array[HOUR] = kInput === 24 ? 0 : kInput; 1725 }); 1726 addParseToken(['a', 'A'], function (input, array, config) { 1727 config._isPm = config._locale.isPM(input); 1728 config._meridiem = input; 1729 }); 1730 addParseToken(['h', 'hh'], function (input, array, config) { 1731 array[HOUR] = toInt(input); 1732 getParsingFlags(config).bigHour = true; 1733 }); 1734 addParseToken('hmm', function (input, array, config) { 1735 var pos = input.length - 2; 1736 array[HOUR] = toInt(input.substr(0, pos)); 1737 array[MINUTE] = toInt(input.substr(pos)); 1738 getParsingFlags(config).bigHour = true; 1739 }); 1740 addParseToken('hmmss', function (input, array, config) { 1741 var pos1 = input.length - 4; 1742 var pos2 = input.length - 2; 1743 array[HOUR] = toInt(input.substr(0, pos1)); 1744 array[MINUTE] = toInt(input.substr(pos1, 2)); 1745 array[SECOND] = toInt(input.substr(pos2)); 1746 getParsingFlags(config).bigHour = true; 1747 }); 1748 addParseToken('Hmm', function (input, array, config) { 1749 var pos = input.length - 2; 1750 array[HOUR] = toInt(input.substr(0, pos)); 1751 array[MINUTE] = toInt(input.substr(pos)); 1752 }); 1753 addParseToken('Hmmss', function (input, array, config) { 1754 var pos1 = input.length - 4; 1755 var pos2 = input.length - 2; 1756 array[HOUR] = toInt(input.substr(0, pos1)); 1757 array[MINUTE] = toInt(input.substr(pos1, 2)); 1758 array[SECOND] = toInt(input.substr(pos2)); 1759 }); 1760 1761 // LOCALES 1762 1763 function localeIsPM (input) { 1764 // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing str
vendor: 11,105 bytes, lines 1764-2080
1764ings like arrays 1765 // Using charAt should be more compatible. 1766 return ((input + '').toLowerCase().charAt(0) === 'p'); 1767 } 1768 1769 var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; 1770 function localeMeridiem (hours, minutes, isLower) { 1771 if (hours > 11) { 1772 return isLower ? 'pm' : 'PM'; 1773 } else { 1774 return isLower ? 'am' : 'AM'; 1775 } 1776 } 1777 1778 1779 // MOMENTS 1780 1781 // Setting the hour should keep the time, because the user explicitly 1782 // specified which hour they want. So trying to maintain the same hour (in 1783 // a new timezone) makes sense. Adding/subtracting hours does not follow 1784 // this rule. 1785 var getSetHour = makeGetSet('Hours', true); 1786 1787 var baseConfig = { 1788 calendar: defaultCalendar, 1789 longDateFormat: defaultLongDateFormat, 1790 invalidDate: defaultInvalidDate, 1791 ordinal: defaultOrdinal, 1792 dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, 1793 relativeTime: defaultRelativeTime, 1794 1795 months: defaultLocaleMonths, 1796 monthsShort: defaultLocaleMonthsShort, 1797 1798 week: defaultLocaleWeek, 1799 1800 weekdays: defaultLocaleWeekdays, 1801 weekdaysMin: defaultLocaleWeekdaysMin, 1802 weekdaysShort: defaultLocaleWeekdaysShort, 1803 1804 meridiemParse: defaultLocaleMeridiemParse 1805 }; 1806 1807 // internal storage for locale config files 1808 var locales = {}; 1809 var localeFamilies = {}; 1810 var globalLocale; 1811 1812 function normalizeLocale(key) { 1813 return key ? key.toLowerCase().replace('_', '-') : key; 1814 } 1815 1816 // pick the locale from the array 1817 // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each 1818 // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root 1819 function chooseLocale(names) { 1820 var i = 0, j, next, locale, split; 1821 1822 while (i < names.length) { 1823 split = normalizeLocale(names[i]).split('-'); 1824 j = split.length; 1825 next = normalizeLocale(names[i + 1]); 1826 next = next ? next.split('-') : null; 1827 while (j > 0) { 1828 locale = loadLocale(split.slice(0, j).join('-')); 1829 if (locale) { 1830 return locale; 1831 } 1832 if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { 1833 //the next array item is better than a shallower substring of this one 1834 break; 1835 } 1836 j--; 1837 } 1838 i++; 1839 } 1840 return globalLocale; 1841 } 1842 1843 function loadLocale(name) { 1844 var oldLocale = null; 1845 // TODO: Find a better way to register and load all the locales in Node 1846 if (!locales[name] && (typeof module !== 'undefined') && 1847 module && module.exports) { 1848 try { 1849 oldLocale = globalLocale._abbr; 1850 var aliasedRequire = require; 1851 aliasedRequire('./locale/' + name); 1852 getSetGlobalLocale(oldLocale); 1853 } catch (e) {} 1854 } 1855 return locales[name]; 1856 } 1857 1858 // This function will load locale and then set the global locale. If 1859 // no arguments are passed in, it will simply return the current global 1860 // locale key. 1861 function getSetGlobalLocale (key, values) { 1862 var data; 1863 if (key) { 1864 if (isUndefined(values)) { 1865 data = getLocale(key); 1866 } 1867 else { 1868 data = defineLocale(key, values); 1869 } 1870 1871 if (data) { 1872 // moment.duration._locale = moment._locale = data; 1873 globalLocale = data; 1874 } 1875 else { 1876 if ((typeof console !== 'undefined') && console.warn) { 1877 //warn user if arguments are passed but the locale could not be set 1878 console.warn('Locale ' + key + ' not found. Did you forget to load it?'); 1879 } 1880 } 1881 } 1882 1883 return globalLocale._abbr; 1884 } 1885 1886 function defineLocale (name, config) { 1887 if (config !== null) { 1888 var locale, parentConfig = baseConfig; 1889 config.abbr = name; 1890 if (locales[name] != null) { 1891 deprecateSimple('defineLocaleOverride', 1892 'use moment.updateLocale(localeName, config) to change ' + 1893 'an existing locale. moment.defineLocale(localeName, ' + 1894 'config) should only be used for creating a new locale ' + 1895 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'); 1896 parentConfig = locales[name]._config; 1897 } else if (config.parentLocale != null) { 1898 if (locales[config.parentLocale] != null) { 1899 parentConfig = locales[config.parentLocale]._config; 1900 } else { 1901 locale = loadLocale(config.parentLocale); 1902 if (locale != null) { 1903 parentConfig = locale._config; 1904 } else { 1905 if (!localeFamilies[config.parentLocale]) { 1906 localeFamilies[config.parentLocale] = []; 1907 } 1908 localeFamilies[config.parentLocale].push({ 1909 name: name, 1910 config: config 1911 }); 1912 return null; 1913 } 1914 } 1915 } 1916 locales[name] = new Locale(mergeConfigs(parentConfig, config)); 1917 1918 if (localeFamilies[name]) { 1919 localeFamilies[name].forEach(function (x) { 1920 defineLocale(x.name, x.config); 1921 }); 1922 } 1923 1924 // backwards compat for now: also set the locale 1925 // make sure we set the locale AFTER all child locales have been 1926 // created, so we won't end up with the child locale set. 1927 getSetGlobalLocale(name); 1928 1929 1930 return locales[name]; 1931 } else { 1932 // useful for testing 1933 delete locales[name]; 1934 return null; 1935 } 1936 } 1937 1938 function updateLocale(name, config) { 1939 if (config != null) { 1940 var locale, tmpLocale, parentConfig = baseConfig; 1941 // MERGE 1942 tmpLocale = loadLocale(name); 1943 if (tmpLocale != null) { 1944 parentConfig = tmpLocale._config; 1945 } 1946 config = mergeConfigs(parentConfig, config); 1947 locale = new Locale(config); 1948 locale.parentLocale = locales[name]; 1949 locales[name] = locale; 1950 1951 // backwards compat for now: also set the locale 1952 getSetGlobalLocale(name); 1953 } else { 1954 // pass null for config to unupdate, useful for tests 1955 if (locales[name] != null) { 1956 if (locales[name].parentLocale != null) { 1957 locales[name] = locales[name].parentLocale; 1958 } else if (locales[name] != null) { 1959 delete locales[name]; 1960 } 1961 } 1962 } 1963 return locales[name]; 1964 } 1965 1966 // returns locale data 1967 function getLocale (key) { 1968 var locale; 1969 1970 if (key && key._locale && key._locale._abbr) { 1971 key = key._locale._abbr; 1972 } 1973 1974 if (!key) { 1975 return globalLocale; 1976 } 1977 1978 if (!isArray(key)) { 1979 //short-circuit everything else 1980 locale = loadLocale(key); 1981 if (locale) { 1982 return locale; 1983 } 1984 key = [key]; 1985 } 1986 1987 return chooseLocale(key); 1988 } 1989 1990 function listLocales() { 1991 return keys(locales); 1992 } 1993 1994 function checkOverflow (m) { 1995 var overflow; 1996 var a = m._a; 1997 1998 if (a && getParsingFlags(m).overflow === -2) { 1999 overflow = 2000 a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : 2001 a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : 2002 a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : 2003 a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : 2004 a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : 2005 a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : 2006 -1; 2007 2008 if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { 2009 overflow = DATE; 2010 } 2011 if (getParsingFlags(m)._overflowWeeks && overflow === -1) { 2012 overflow = WEEK; 2013 } 2014 if (getParsingFlags(m)._overflowWeekday && overflow === -1) { 2015 overflow = WEEKDAY; 2016 } 2017 2018 getParsingFlags(m).overflow = overflow; 2019 } 2020 2021 return m; 2022 } 2023 2024 // Pick the first defined of two or three arguments. 2025 function defaults(a, b, c) { 2026 if (a != null) { 2027 return a; 2028 } 2029 if (b != null) { 2030 return b; 2031 } 2032 return c; 2033 } 2034 2035 function currentDateArray(config) { 2036 // hooks is actually the exported moment object 2037 var nowValue = new Date(hooks.now()); 2038 if (config._useUTC) { 2039 return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; 2040 } 2041 return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; 2042 } 2043 2044 // convert an array to a date. 2045 // the array should mirror the parameters below 2046 // note: all values past the year are optional and will default to the lowest possible value. 2047 // [year, month, day , hour, minute, second, millisecond] 2048 function configFromArray (config) { 2049 var i, date, input = [], currentDate, expectedWeekday, yearToUse; 2050 2051 if (config._d) { 2052 return; 2053 } 2054 2055 currentDate = currentDateArray(config); 2056 2057 //compute day of the year from weeks and weekdays 2058 if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { 2059 dayOfYearFromWeekInfo(config); 2060 } 2061 2062 //if the day of the year is set, figure out what it is 2063 if (config._dayOfYear != null) { 2064 yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); 2065 2066 if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { 2067 getParsingFlags(config)._overflowDayOfYear = true; 2068 } 2069 2070 date = createUTCDate(yearToUse, 0, config._dayOfYear); 2071 config._a[MONTH] = date.getUTCMonth(); 2072 config._a[DATE] = date.getUTCDate(); 2073 } 2074 2075 // Default to current date. 2076 // * if no year, month, day of month are given, default to today 2077 // * if day of month is given, default month and year 2078 // * if month is given, default only year 2079 // * if year is given, don't default anything 2080 for (i = 0; i < 3 && config._a[i] == null; ++i) {
vendor: 81,024 bytes, lines 2081-4551
2081 config._a[i] = input[i] = currentDate[i]; 2082 } 2083 2084 // Zero out whatever was not defaulted, including time 2085 for (; i < 7; i++) { 2086 config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; 2087 } 2088 2089 // Check for 24:00:00.000 2090 if (config._a[HOUR] === 24 && 2091 config._a[MINUTE] === 0 && 2092 config._a[SECOND] === 0 && 2093 config._a[MILLISECOND] === 0) { 2094 config._nextDay = true; 2095 config._a[HOUR] = 0; 2096 } 2097 2098 config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); 2099 expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); 2100 2101 // Apply timezone offset from input. The actual utcOffset can be changed 2102 // with parseZone. 2103 if (config._tzm != null) { 2104 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); 2105 } 2106 2107 if (config._nextDay) { 2108 config._a[HOUR] = 24; 2109 } 2110 2111 // check for mismatching day of week 2112 if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) { 2113 getParsingFlags(config).weekdayMismatch = true; 2114 } 2115 } 2116 2117 function dayOfYearFromWeekInfo(config) { 2118 var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; 2119 2120 w = config._w; 2121 if (w.GG != null || w.W != null || w.E != null) { 2122 dow = 1; 2123 doy = 4; 2124 2125 // TODO: We need to take the current isoWeekYear, but that depends on 2126 // how we interpret now (local, utc, fixed offset). So create 2127 // a now version of current config (take local/utc/offset flags, and 2128 // create now). 2129 weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); 2130 week = defaults(w.W, 1); 2131 weekday = defaults(w.E, 1); 2132 if (weekday < 1 || weekday > 7) { 2133 weekdayOverflow = true; 2134 } 2135 } else { 2136 dow = config._locale._week.dow; 2137 doy = config._locale._week.doy; 2138 2139 var curWeek = weekOfYear(createLocal(), dow, doy); 2140 2141 weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); 2142 2143 // Default to current week. 2144 week = defaults(w.w, curWeek.week); 2145 2146 if (w.d != null) { 2147 // weekday -- low day numbers are considered next week 2148 weekday = w.d; 2149 if (weekday < 0 || weekday > 6) { 2150 weekdayOverflow = true; 2151 } 2152 } else if (w.e != null) { 2153 // local weekday -- counting starts from beginning of week 2154 weekday = w.e + dow; 2155 if (w.e < 0 || w.e > 6) { 2156 weekdayOverflow = true; 2157 } 2158 } else { 2159 // default to beginning of week 2160 weekday = dow; 2161 } 2162 } 2163 if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { 2164 getParsingFlags(config)._overflowWeeks = true; 2165 } else if (weekdayOverflow != null) { 2166 getParsingFlags(config)._overflowWeekday = true; 2167 } else { 2168 temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); 2169 config._a[YEAR] = temp.year; 2170 config._dayOfYear = temp.dayOfYear; 2171 } 2172 } 2173 2174 // iso 8601 regex 2175 // 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) 2176 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)?)?$/; 2177 var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; 2178 2179 var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; 2180 2181 var isoDates = [ 2182 ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], 2183 ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], 2184 ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], 2185 ['GGGG-[W]WW', /\d{4}-W\d\d/, false], 2186 ['YYYY-DDD', /\d{4}-\d{3}/], 2187 ['YYYY-MM', /\d{4}-\d\d/, false], 2188 ['YYYYYYMMDD', /[+-]\d{10}/], 2189 ['YYYYMMDD', /\d{8}/], 2190 // YYYYMM is NOT allowed by the standard 2191 ['GGGG[W]WWE', /\d{4}W\d{3}/], 2192 ['GGGG[W]WW', /\d{4}W\d{2}/, false], 2193 ['YYYYDDD', /\d{7}/] 2194 ]; 2195 2196 // iso time formats and regexes 2197 var isoTimes = [ 2198 ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], 2199 ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], 2200 ['HH:mm:ss', /\d\d:\d\d:\d\d/], 2201 ['HH:mm', /\d\d:\d\d/], 2202 ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], 2203 ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], 2204 ['HHmmss', /\d\d\d\d\d\d/], 2205 ['HHmm', /\d\d\d\d/], 2206 ['HH', /\d\d/] 2207 ]; 2208 2209 var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; 2210 2211 // date from iso format 2212 function configFromISO(config) { 2213 var i, l, 2214 string = config._i, 2215 match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), 2216 allowTime, dateFormat, timeFormat, tzFormat; 2217 2218 if (match) { 2219 getParsingFlags(config).iso = true; 2220 2221 for (i = 0, l = isoDates.length; i < l; i++) { 2222 if (isoDates[i][1].exec(match[1])) { 2223 dateFormat = isoDates[i][0]; 2224 allowTime = isoDates[i][2] !== false; 2225 break; 2226 } 2227 } 2228 if (dateFormat == null) { 2229 config._isValid = false; 2230 return; 2231 } 2232 if (match[3]) { 2233 for (i = 0, l = isoTimes.length; i < l; i++) { 2234 if (isoTimes[i][1].exec(match[3])) { 2235 // match[2] should be 'T' or space 2236 timeFormat = (match[2] || ' ') + isoTimes[i][0]; 2237 break; 2238 } 2239 } 2240 if (timeFormat == null) { 2241 config._isValid = false; 2242 return; 2243 } 2244 } 2245 if (!allowTime && timeFormat != null) { 2246 config._isValid = false; 2247 return; 2248 } 2249 if (match[4]) { 2250 if (tzRegex.exec(match[4])) { 2251 tzFormat = 'Z'; 2252 } else { 2253 config._isValid = false; 2254 return; 2255 } 2256 } 2257 config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); 2258 configFromStringAndFormat(config); 2259 } else { 2260 config._isValid = false; 2261 } 2262 } 2263 2264 // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 2265 var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; 2266 2267 function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { 2268 var result = [ 2269 untruncateYear(yearStr), 2270 defaultLocaleMonthsShort.indexOf(monthStr), 2271 parseInt(dayStr, 10), 2272 parseInt(hourStr, 10), 2273 parseInt(minuteStr, 10) 2274 ]; 2275 2276 if (secondStr) { 2277 result.push(parseInt(secondStr, 10)); 2278 } 2279 2280 return result; 2281 } 2282 2283 function untruncateYear(yearStr) { 2284 var year = parseInt(yearStr, 10); 2285 if (year <= 49) { 2286 return 2000 + year; 2287 } else if (year <= 999) { 2288 return 1900 + year; 2289 } 2290 return year; 2291 } 2292 2293 function preprocessRFC2822(s) { 2294 // Remove comments and folding whitespace and replace multiple-spaces with a single space 2295 return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); 2296 } 2297 2298 function checkWeekday(weekdayStr, parsedInput, config) { 2299 if (weekdayStr) { 2300 // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. 2301 var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), 2302 weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); 2303 if (weekdayProvided !== weekdayActual) { 2304 getParsingFlags(config).weekdayMismatch = true; 2305 config._isValid = false; 2306 return false; 2307 } 2308 } 2309 return true; 2310 } 2311 2312 var obsOffsets = { 2313 UT: 0, 2314 GMT: 0, 2315 EDT: -4 * 60, 2316 EST: -5 * 60, 2317 CDT: -5 * 60, 2318 CST: -6 * 60, 2319 MDT: -6 * 60, 2320 MST: -7 * 60, 2321 PDT: -7 * 60, 2322 PST: -8 * 60 2323 }; 2324 2325 function calculateOffset(obsOffset, militaryOffset, numOffset) { 2326 if (obsOffset) { 2327 return obsOffsets[obsOffset]; 2328 } else if (militaryOffset) { 2329 // the only allowed military tz is Z 2330 return 0; 2331 } else { 2332 var hm = parseInt(numOffset, 10); 2333 var m = hm % 100, h = (hm - m) / 100; 2334 return h * 60 + m; 2335 } 2336 } 2337 2338 // date and time from ref 2822 format 2339 function configFromRFC2822(config) { 2340 var match = rfc2822.exec(preprocessRFC2822(config._i)); 2341 if (match) { 2342 var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); 2343 if (!checkWeekday(match[1], parsedArray, config)) { 2344 return; 2345 } 2346 2347 config._a = parsedArray; 2348 config._tzm = calculateOffset(match[8], match[9], match[10]); 2349 2350 config._d = createUTCDate.apply(null, config._a); 2351 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); 2352 2353 getParsingFlags(config).rfc2822 = true; 2354 } else { 2355 config._isValid = false; 2356 } 2357 } 2358 2359 // date from iso format or fallback 2360 function configFromString(config) { 2361 var matched = aspNetJsonRegex.exec(config._i); 2362 2363 if (matched !== null) { 2364 config._d = new Date(+matched[1]); 2365 return; 2366 } 2367 2368 configFromISO(config); 2369 if (config._isValid === false) { 2370 delete config._isValid; 2371 } else { 2372 return; 2373 } 2374 2375 configFromRFC2822(config); 2376 if (config._isValid === false) { 2377 delete config._isValid; 2378 } else { 2379 return; 2380 } 2381 2382 // Final attempt, use Input Fallback 2383 hooks.createFromInputFallback(config); 2384 } 2385 2386 hooks.createFromInputFallback = deprecate( 2387 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 2388 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 2389 'discouraged and will be removed in an upcoming major release. Please refer to ' + 2390 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', 2391 function (config) { 2392 config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); 2393 } 2394 ); 2395 2396 // constant that refers to the ISO standard 2397 hooks.ISO_8601 = function () {}; 2398 2399 // constant that refers to the RFC 2822 form 2400 hooks.RFC_2822 = function () {}; 2401 2402 // date from string and format string 2403 function configFromStringAndFormat(config) { 2404 // TODO: Move this to another part of the creation flow to prevent circular deps 2405 if (config._f === hooks.ISO_8601) { 2406 configFromISO(config); 2407 return; 2408 } 2409 if (config._f === hooks.RFC_2822) { 2410 configFromRFC2822(config); 2411 return; 2412 } 2413 config._a = []; 2414 getParsingFlags(config).empty = true; 2415 2416 // This array is used to make a Date, either with `new Date` or `Date.UTC` 2417 var string = '' + config._i, 2418 i, parsedInput, tokens, token, skipped, 2419 stringLength = string.length, 2420 totalParsedInputLength = 0; 2421 2422 tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; 2423 2424 for (i = 0; i < tokens.length; i++) { 2425 token = tokens[i]; 2426 parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; 2427 // console.log('token', token, 'parsedInput', parsedInput, 2428 // 'regex', getParseRegexForToken(token, config)); 2429 if (parsedInput) { 2430 skipped = string.substr(0, string.indexOf(parsedInput)); 2431 if (skipped.length > 0) { 2432 getParsingFlags(config).unusedInput.push(skipped); 2433 } 2434 string = string.slice(string.indexOf(parsedInput) + parsedInput.length); 2435 totalParsedInputLength += parsedInput.length; 2436 } 2437 // don't parse if it's not a known token 2438 if (formatTokenFunctions[token]) { 2439 if (parsedInput) { 2440 getParsingFlags(config).empty = false; 2441 } 2442 else { 2443 getParsingFlags(config).unusedTokens.push(token); 2444 } 2445 addTimeToArrayFromToken(token, parsedInput, config); 2446 } 2447 else if (config._strict && !parsedInput) { 2448 getParsingFlags(config).unusedTokens.push(token); 2449 } 2450 } 2451 2452 // add remaining unparsed input length to the string 2453 getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; 2454 if (string.length > 0) { 2455 getParsingFlags(config).unusedInput.push(string); 2456 } 2457 2458 // clear _12h flag if hour is <= 12 2459 if (config._a[HOUR] <= 12 && 2460 getParsingFlags(config).bigHour === true && 2461 config._a[HOUR] > 0) { 2462 getParsingFlags(config).bigHour = undefined; 2463 } 2464 2465 getParsingFlags(config).parsedDateParts = config._a.slice(0); 2466 getParsingFlags(config).meridiem = config._meridiem; 2467 // handle meridiem 2468 config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); 2469 2470 configFromArray(config); 2471 checkOverflow(config); 2472 } 2473 2474 2475 function meridiemFixWrap (locale, hour, meridiem) { 2476 var isPm; 2477 2478 if (meridiem == null) { 2479 // nothing to do 2480 return hour; 2481 } 2482 if (locale.meridiemHour != null) { 2483 return locale.meridiemHour(hour, meridiem); 2484 } else if (locale.isPM != null) { 2485 // Fallback 2486 isPm = locale.isPM(meridiem); 2487 if (isPm && hour < 12) { 2488 hour += 12; 2489 } 2490 if (!isPm && hour === 12) { 2491 hour = 0; 2492 } 2493 return hour; 2494 } else { 2495 // this is not supposed to happen 2496 return hour; 2497 } 2498 } 2499 2500 // date from string and array of format strings 2501 function configFromStringAndArray(config) { 2502 var tempConfig, 2503 bestMoment, 2504 2505 scoreToBeat, 2506 i, 2507 currentScore; 2508 2509 if (config._f.length === 0) { 2510 getParsingFlags(config).invalidFormat = true; 2511 config._d = new Date(NaN); 2512 return; 2513 } 2514 2515 for (i = 0; i < config._f.length; i++) { 2516 currentScore = 0; 2517 tempConfig = copyConfig({}, config); 2518 if (config._useUTC != null) { 2519 tempConfig._useUTC = config._useUTC; 2520 } 2521 tempConfig._f = config._f[i]; 2522 configFromStringAndFormat(tempConfig); 2523 2524 if (!isValid(tempConfig)) { 2525 continue; 2526 } 2527 2528 // if there is any input that was not parsed add a penalty for that format 2529 currentScore += getParsingFlags(tempConfig).charsLeftOver; 2530 2531 //or tokens 2532 currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; 2533 2534 getParsingFlags(tempConfig).score = currentScore; 2535 2536 if (scoreToBeat == null || currentScore < scoreToBeat) { 2537 scoreToBeat = currentScore; 2538 bestMoment = tempConfig; 2539 } 2540 } 2541 2542 extend(config, bestMoment || tempConfig); 2543 } 2544 2545 function configFromObject(config) { 2546 if (config._d) { 2547 return; 2548 } 2549 2550 var i = normalizeObjectUnits(config._i); 2551 config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { 2552 return obj && parseInt(obj, 10); 2553 }); 2554 2555 configFromArray(config); 2556 } 2557 2558 function createFromConfig (config) { 2559 var res = new Moment(checkOverflow(prepareConfig(config))); 2560 if (res._nextDay) { 2561 // Adding is smart enough around DST 2562 res.add(1, 'd'); 2563 res._nextDay = undefined; 2564 } 2565 2566 return res; 2567 } 2568 2569 function prepareConfig (config) { 2570 var input = config._i, 2571 format = config._f; 2572 2573 config._locale = config._locale || getLocale(config._l); 2574 2575 if (input === null || (format === undefined && input === '')) { 2576 return createInvalid({nullInput: true}); 2577 } 2578 2579 if (typeof input === 'string') { 2580 config._i = input = config._locale.preparse(input); 2581 } 2582 2583 if (isMoment(input)) { 2584 return new Moment(checkOverflow(input)); 2585 } else if (isDate(input)) { 2586 config._d = input; 2587 } else if (isArray(format)) { 2588 configFromStringAndArray(config); 2589 } else if (format) { 2590 configFromStringAndFormat(config); 2591 } else { 2592 configFromInput(config); 2593 } 2594 2595 if (!isValid(config)) { 2596 config._d = null; 2597 } 2598 2599 return config; 2600 } 2601 2602 function configFromInput(config) { 2603 var input = config._i; 2604 if (isUndefined(input)) { 2605 config._d = new Date(hooks.now()); 2606 } else if (isDate(input)) { 2607 config._d = new Date(input.valueOf()); 2608 } else if (typeof input === 'string') { 2609 configFromString(config); 2610 } else if (isArray(input)) { 2611 config._a = map(input.slice(0), function (obj) { 2612 return parseInt(obj, 10); 2613 }); 2614 configFromArray(config); 2615 } else if (isObject(input)) { 2616 configFromObject(config); 2617 } else if (isNumber(input)) { 2618 // from milliseconds 2619 config._d = new Date(input); 2620 } else { 2621 hooks.createFromInputFallback(config); 2622 } 2623 } 2624 2625 function createLocalOrUTC (input, format, locale, strict, isUTC) { 2626 var c = {}; 2627 2628 if (locale === true || locale === false) { 2629 strict = locale; 2630 locale = undefined; 2631 } 2632 2633 if ((isObject(input) && isObjectEmpty(input)) || 2634 (isArray(input) && input.length === 0)) { 2635 input = undefined; 2636 } 2637 // object construction must be done this way. 2638 // https://github.com/moment/moment/issues/1423 2639 c._isAMomentObject = true; 2640 c._useUTC = c._isUTC = isUTC; 2641 c._l = locale; 2642 c._i = input; 2643 c._f = format; 2644 c._strict = strict; 2645 2646 return createFromConfig(c); 2647 } 2648 2649 function createLocal (input, format, locale, strict) { 2650 return createLocalOrUTC(input, format, locale, strict, false); 2651 } 2652 2653 var prototypeMin = deprecate( 2654 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', 2655 function () { 2656 var other = createLocal.apply(null, arguments); 2657 if (this.isValid() && other.isValid()) { 2658 return other < this ? this : other; 2659 } else { 2660 return createInvalid(); 2661 } 2662 } 2663 ); 2664 2665 var prototypeMax = deprecate( 2666 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', 2667 function () { 2668 var other = createLocal.apply(null, arguments); 2669 if (this.isValid() && other.isValid()) { 2670 return other > this ? this : other; 2671 } else { 2672 return createInvalid(); 2673 } 2674 } 2675 ); 2676 2677 // Pick a moment m from moments so that m[fn](other) is true for all 2678 // other. This relies on the function fn to be transitive. 2679 // 2680 // moments should either be an array of moment objects or an array, whose 2681 // first element is an array of moment objects. 2682 function pickBy(fn, moments) { 2683 var res, i; 2684 if (moments.length === 1 && isArray(moments[0])) { 2685 moments = moments[0]; 2686 } 2687 if (!moments.length) { 2688 return createLocal(); 2689 } 2690 res = moments[0]; 2691 for (i = 1; i < moments.length; ++i) { 2692 if (!moments[i].isValid() || moments[i][fn](res)) { 2693 res = moments[i]; 2694 } 2695 } 2696 return res; 2697 } 2698 2699 // TODO: Use [].sort instead? 2700 function min () { 2701 var args = [].slice.call(arguments, 0); 2702 2703 return pickBy('isBefore', args); 2704 } 2705 2706 function max () { 2707 var args = [].slice.call(arguments, 0); 2708 2709 return pickBy('isAfter', args); 2710 } 2711 2712 var now = function () { 2713 return Date.now ? Date.now() : +(new Date()); 2714 }; 2715 2716 var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; 2717 2718 function isDurationValid(m) { 2719 for (var key in m) { 2720 if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { 2721 return false; 2722 } 2723 } 2724 2725 var unitHasDecimal = false; 2726 for (var i = 0; i < ordering.length; ++i) { 2727 if (m[ordering[i]]) { 2728 if (unitHasDecimal) { 2729 return false; // only allow non-integers for smallest unit 2730 } 2731 if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { 2732 unitHasDecimal = true; 2733 } 2734 } 2735 } 2736 2737 return true; 2738 } 2739 2740 function isValid$1() { 2741 return this._isValid; 2742 } 2743 2744 function createInvalid$1() { 2745 return createDuration(NaN); 2746 } 2747 2748 function Duration (duration) { 2749 var normalizedInput = normalizeObjectUnits(duration), 2750 years = normalizedInput.year || 0, 2751 quarters = normalizedInput.quarter || 0, 2752 months = normalizedInput.month || 0, 2753 weeks = normalizedInput.week || normalizedInput.isoWeek || 0, 2754 days = normalizedInput.day || 0, 2755 hours = normalizedInput.hour || 0, 2756 minutes = normalizedInput.minute || 0, 2757 seconds = normalizedInput.second || 0, 2758 milliseconds = normalizedInput.millisecond || 0; 2759 2760 this._isValid = isDurationValid(normalizedInput); 2761 2762 // representation for dateAddRemove 2763 this._milliseconds = +milliseconds + 2764 seconds * 1e3 + // 1000 2765 minutes * 6e4 + // 1000 * 60 2766 hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 2767 // Because of dateAddRemove treats 24 hours as different from a 2768 // day when working around DST, we need to store them separately 2769 this._days = +days + 2770 weeks * 7; 2771 // It is impossible to translate months into days without knowing 2772 // which months you are are talking about, so we have to store 2773 // it separately. 2774 this._months = +months + 2775 quarters * 3 + 2776 years * 12; 2777 2778 this._data = {}; 2779 2780 this._locale = getLocale(); 2781 2782 this._bubble(); 2783 } 2784 2785 function isDuration (obj) { 2786 return obj instanceof Duration; 2787 } 2788 2789 function absRound (number) { 2790 if (number < 0) { 2791 return Math.round(-1 * number) * -1; 2792 } else { 2793 return Math.round(number); 2794 } 2795 } 2796 2797 // FORMATTING 2798 2799 function offset (token, separator) { 2800 addFormatToken(token, 0, 0, function () { 2801 var offset = this.utcOffset(); 2802 var sign = '+'; 2803 if (offset < 0) { 2804 offset = -offset; 2805 sign = '-'; 2806 } 2807 return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); 2808 }); 2809 } 2810 2811 offset('Z', ':'); 2812 offset('ZZ', ''); 2813 2814 // PARSING 2815 2816 addRegexToken('Z', matchShortOffset); 2817 addRegexToken('ZZ', matchShortOffset); 2818 addParseToken(['Z', 'ZZ'], function (input, array, config) { 2819 config._useUTC = true; 2820 config._tzm = offsetFromString(matchShortOffset, input); 2821 }); 2822 2823 // HELPERS 2824 2825 // timezone chunker 2826 // '+10:00' > ['10', '00'] 2827 // '-1530' > ['-15', '30'] 2828 var chunkOffset = /([\+\-]|\d\d)/gi; 2829 2830 function offsetFromString(matcher, string) { 2831 var matches = (string || '').match(matcher); 2832 2833 if (matches === null) { 2834 return null; 2835 } 2836 2837 var chunk = matches[matches.length - 1] || []; 2838 var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; 2839 var minutes = +(parts[1] * 60) + toInt(parts[2]); 2840 2841 return minutes === 0 ? 2842 0 : 2843 parts[0] === '+' ? minutes : -minutes; 2844 } 2845 2846 // Return a moment from input, that is local/utc/zone equivalent to model. 2847 function cloneWithOffset(input, model) { 2848 var res, diff; 2849 if (model._isUTC) { 2850 res = model.clone(); 2851 diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); 2852 // Use low-level api, because this fn is low-level api. 2853 res._d.setTime(res._d.valueOf() + diff); 2854 hooks.updateOffset(res, false); 2855 return res; 2856 } else { 2857 return createLocal(input).local(); 2858 } 2859 } 2860 2861 function getDateOffset (m) { 2862 // On Firefox.24 Date#getTimezoneOffset returns a floating point. 2863 // https://github.com/moment/moment/pull/1871 2864 return -Math.round(m._d.getTimezoneOffset() / 15) * 15; 2865 } 2866 2867 // HOOKS 2868 2869 // This function will be called whenever a moment is mutated. 2870 // It is intended to keep the offset in sync with the timezone. 2871 hooks.updateOffset = function () {}; 2872 2873 // MOMENTS 2874 2875 // keepLocalTime = true means only change the timezone, without 2876 // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> 2877 // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset 2878 // +0200, so we adjust the time as needed, to be valid. 2879 // 2880 // Keeping the time actually adds/subtracts (one hour) 2881 // from the actual represented time. That is why we call updateOffset 2882 // a second time. In case it wants us to change the offset again 2883 // _changeInProgress == true case, then we have to adjust, because 2884 // there is no such time in the given timezone. 2885 function getSetOffset (input, keepLocalTime, keepMinutes) { 2886 var offset = this._offset || 0, 2887 localAdjust; 2888 if (!this.isValid()) { 2889 return input != null ? this : NaN; 2890 } 2891 if (input != null) { 2892 if (typeof input === 'string') { 2893 input = offsetFromString(matchShortOffset, input); 2894 if (input === null) { 2895 return this; 2896 } 2897 } else if (Math.abs(input) < 16 && !keepMinutes) { 2898 input = input * 60; 2899 } 2900 if (!this._isUTC && keepLocalTime) { 2901 localAdjust = getDateOffset(this); 2902 } 2903 this._offset = input; 2904 this._isUTC = true; 2905 if (localAdjust != null) { 2906 this.add(localAdjust, 'm'); 2907 } 2908 if (offset !== input) { 2909 if (!keepLocalTime || this._changeInProgress) { 2910 addSubtract(this, createDuration(input - offset, 'm'), 1, false); 2911 } else if (!this._changeInProgress) { 2912 this._changeInProgress = true; 2913 hooks.updateOffset(this, true); 2914 this._changeInProgress = null; 2915 } 2916 } 2917 return this; 2918 } else { 2919 return this._isUTC ? offset : getDateOffset(this); 2920 } 2921 } 2922 2923 function getSetZone (input, keepLocalTime) { 2924 if (input != null) { 2925 if (typeof input !== 'string') { 2926 input = -input; 2927 } 2928 2929 this.utcOffset(input, keepLocalTime); 2930 2931 return this; 2932 } else { 2933 return -this.utcOffset(); 2934 } 2935 } 2936 2937 function setOffsetToUTC (keepLocalTime) { 2938 return this.utcOffset(0, keepLocalTime); 2939 } 2940 2941 function setOffsetToLocal (keepLocalTime) { 2942 if (this._isUTC) { 2943 this.utcOffset(0, keepLocalTime); 2944 this._isUTC = false; 2945 2946 if (keepLocalTime) { 2947 this.subtract(getDateOffset(this), 'm'); 2948 } 2949 } 2950 return this; 2951 } 2952 2953 function setOffsetToParsedOffset () { 2954 if (this._tzm != null) { 2955 this.utcOffset(this._tzm, false, true); 2956 } else if (typeof this._i === 'string') { 2957 var tZone = offsetFromString(matchOffset, this._i); 2958 if (tZone != null) { 2959 this.utcOffset(tZone); 2960 } 2961 else { 2962 this.utcOffset(0, true); 2963 } 2964 } 2965 return this; 2966 } 2967 2968 function hasAlignedHourOffset (input) { 2969 if (!this.isValid()) { 2970 return false; 2971 } 2972 input = input ? createLocal(input).utcOffset() : 0; 2973 2974 return (this.utcOffset() - input) % 60 === 0; 2975 } 2976 2977 function isDaylightSavingTime () { 2978 return ( 2979 this.utcOffset() > this.clone().month(0).utcOffset() || 2980 this.utcOffset() > this.clone().month(5).utcOffset() 2981 ); 2982 } 2983 2984 function isDaylightSavingTimeShifted () { 2985 if (!isUndefined(this._isDSTShifted)) { 2986 return this._isDSTShifted; 2987 } 2988 2989 var c = {}; 2990 2991 copyConfig(c, this); 2992 c = prepareConfig(c); 2993 2994 if (c._a) { 2995 var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); 2996 this._isDSTShifted = this.isValid() && 2997 compareArrays(c._a, other.toArray()) > 0; 2998 } else { 2999 this._isDSTShifted = false; 3000 } 3001 3002 return this._isDSTShifted; 3003 } 3004 3005 function isLocal () { 3006 return this.isValid() ? !this._isUTC : false; 3007 } 3008 3009 function isUtcOffset () { 3010 return this.isValid() ? this._isUTC : false; 3011 } 3012 3013 function isUtc () { 3014 return this.isValid() ? this._isUTC && this._offset === 0 : false; 3015 } 3016 3017 // ASP.NET json date format regex 3018 var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; 3019 3020 // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html 3021 // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere 3022 // and further modified to allow for strings containing both week and day 3023 var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; 3024 3025 function createDuration (input, key) { 3026 var duration = input, 3027 // matching against regexp is expensive, do it on demand 3028 match = null, 3029 sign, 3030 ret, 3031 diffRes; 3032 3033 if (isDuration(input)) { 3034 duration = { 3035 ms : input._milliseconds, 3036 d : input._days, 3037 M : input._months 3038 }; 3039 } else if (isNumber(input)) { 3040 duration = {}; 3041 if (key) { 3042 duration[key] = input; 3043 } else { 3044 duration.milliseconds = input; 3045 } 3046 } else if (!!(match = aspNetRegex.exec(input))) { 3047 sign = (match[1] === '-') ? -1 : 1; 3048 duration = { 3049 y : 0, 3050 d : toInt(match[DATE]) * sign, 3051 h : toInt(match[HOUR]) * sign, 3052 m : toInt(match[MINUTE]) * sign, 3053 s : toInt(match[SECOND]) * sign, 3054 ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match 3055 }; 3056 } else if (!!(match = isoRegex.exec(input))) { 3057 sign = (match[1] === '-') ? -1 : 1; 3058 duration = { 3059 y : parseIso(match[2], sign), 3060 M : parseIso(match[3], sign), 3061 w : parseIso(match[4], sign), 3062 d : parseIso(match[5], sign), 3063 h : parseIso(match[6], sign), 3064 m : parseIso(match[7], sign), 3065 s : parseIso(match[8], sign) 3066 }; 3067 } else if (duration == null) {// checks for null or undefined 3068 duration = {}; 3069 } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) { 3070 diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); 3071 3072 duration = {}; 3073 duration.ms = diffRes.milliseconds; 3074 duration.M = diffRes.months; 3075 } 3076 3077 ret = new Duration(duration); 3078 3079 if (isDuration(input) && hasOwnProp(input, '_locale')) { 3080 ret._locale = input._locale; 3081 } 3082 3083 return ret; 3084 } 3085 3086 createDuration.fn = Duration.prototype; 3087 createDuration.invalid = createInvalid$1; 3088 3089 function parseIso (inp, sign) { 3090 // We'd normally use ~~inp for this, but unfortunately it also 3091 // converts floats to ints. 3092 // inp may be undefined, so careful calling replace on it. 3093 var res = inp && parseFloat(inp.replace(',', '.')); 3094 // apply sign while we're at it 3095 return (isNaN(res) ? 0 : res) * sign; 3096 } 3097 3098 function positiveMomentsDifference(base, other) { 3099 var res = {}; 3100 3101 res.months = other.month() - base.month() + 3102 (other.year() - base.year()) * 12; 3103 if (base.clone().add(res.months, 'M').isAfter(other)) { 3104 --res.months; 3105 } 3106 3107 res.milliseconds = +other - +(base.clone().add(res.months, 'M')); 3108 3109 return res; 3110 } 3111 3112 function momentsDifference(base, other) { 3113 var res; 3114 if (!(base.isValid() && other.isValid())) { 3115 return {milliseconds: 0, months: 0}; 3116 } 3117 3118 other = cloneWithOffset(other, base); 3119 if (base.isBefore(other)) { 3120 res = positiveMomentsDifference(base, other); 3121 } else { 3122 res = positiveMomentsDifference(other, base); 3123 res.milliseconds = -res.milliseconds; 3124 res.months = -res.months; 3125 } 3126 3127 return res; 3128 } 3129 3130 // TODO: remove 'name' arg after deprecation is removed 3131 function createAdder(direction, name) { 3132 return function (val, period) { 3133 var dur, tmp; 3134 //invert the arguments, but complain about it 3135 if (period !== null && !isNaN(+period)) { 3136 deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 3137 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); 3138 tmp = val; val = period; period = tmp; 3139 } 3140 3141 val = typeof val === 'string' ? +val : val; 3142 dur = createDuration(val, period); 3143 addSubtract(this, dur, direction); 3144 return this; 3145 }; 3146 } 3147 3148 function addSubtract (mom, duration, isAdding, updateOffset) { 3149 var milliseconds = duration._milliseconds, 3150 days = absRound(duration._days), 3151 months = absRound(duration._months); 3152 3153 if (!mom.isValid()) { 3154 // No op 3155 return; 3156 } 3157 3158 updateOffset = updateOffset == null ? true : updateOffset; 3159 3160 if (months) { 3161 setMonth(mom, get(mom, 'Month') + months * isAdding); 3162 } 3163 if (days) { 3164 set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); 3165 } 3166 if (milliseconds) { 3167 mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); 3168 } 3169 if (updateOffset) { 3170 hooks.updateOffset(mom, days || months); 3171 } 3172 } 3173 3174 var add = createAdder(1, 'add'); 3175 var subtract = createAdder(-1, 'subtract'); 3176 3177 function getCalendarFormat(myMoment, now) { 3178 var diff = myMoment.diff(now, 'days', true); 3179 return diff < -6 ? 'sameElse' : 3180 diff < -1 ? 'lastWeek' : 3181 diff < 0 ? 'lastDay' : 3182 diff < 1 ? 'sameDay' : 3183 diff < 2 ? 'nextDay' : 3184 diff < 7 ? 'nextWeek' : 'sameElse'; 3185 } 3186 3187 function calendar$1 (time, formats) { 3188 // We want to compare the start of today, vs this. 3189 // Getting start-of-today depends on whether we're local/utc/offset or not. 3190 var now = time || createLocal(), 3191 sod = cloneWithOffset(now, this).startOf('day'), 3192 format = hooks.calendarFormat(this, sod) || 'sameElse'; 3193 3194 var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); 3195 3196 return this.format(output || this.localeData().calendar(format, this, createLocal(now))); 3197 } 3198 3199 function clone () { 3200 return new Moment(this); 3201 } 3202 3203 function isAfter (input, units) { 3204 var localInput = isMoment(input) ? input : createLocal(input); 3205 if (!(this.isValid() && localInput.isValid())) { 3206 return false; 3207 } 3208 units = normalizeUnits(units) || 'millisecond'; 3209 if (units === 'millisecond') { 3210 return this.valueOf() > localInput.valueOf(); 3211 } else { 3212 return localInput.valueOf() < this.clone().startOf(units).valueOf(); 3213 } 3214 } 3215 3216 function isBefore (input, units) { 3217 var localInput = isMoment(input) ? input : createLocal(input); 3218 if (!(this.isValid() && localInput.isValid())) { 3219 return false; 3220 } 3221 units = normalizeUnits(units) || 'millisecond'; 3222 if (units === 'millisecond') { 3223 return this.valueOf() < localInput.valueOf(); 3224 } else { 3225 return this.clone().endOf(units).valueOf() < localInput.valueOf(); 3226 } 3227 } 3228 3229 function isBetween (from, to, units, inclusivity) { 3230 var localFrom = isMoment(from) ? from : createLocal(from), 3231 localTo = isMoment(to) ? to : createLocal(to); 3232 if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { 3233 return false; 3234 } 3235 inclusivity = inclusivity || '()'; 3236 return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && 3237 (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)); 3238 } 3239 3240 function isSame (input, units) { 3241 var localInput = isMoment(input) ? input : createLocal(input), 3242 inputMs; 3243 if (!(this.isValid() && localInput.isValid())) { 3244 return false; 3245 } 3246 units = normalizeUnits(units) || 'millisecond'; 3247 if (units === 'millisecond') { 3248 return this.valueOf() === localInput.valueOf(); 3249 } else { 3250 inputMs = localInput.valueOf(); 3251 return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); 3252 } 3253 } 3254 3255 function isSameOrAfter (input, units) { 3256 return this.isSame(input, units) || this.isAfter(input, units); 3257 } 3258 3259 function isSameOrBefore (input, units) { 3260 return this.isSame(input, units) || this.isBefore(input, units); 3261 } 3262 3263 function diff (input, units, asFloat) { 3264 var that, 3265 zoneDelta, 3266 output; 3267 3268 if (!this.isValid()) { 3269 return NaN; 3270 } 3271 3272 that = cloneWithOffset(input, this); 3273 3274 if (!that.isValid()) { 3275 return NaN; 3276 } 3277 3278 zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; 3279 3280 units = normalizeUnits(units); 3281 3282 switch (units) { 3283 case 'year': output = monthDiff(this, that) / 12; break; 3284 case 'month': output = monthDiff(this, that); break; 3285 case 'quarter': output = monthDiff(this, that) / 3; break; 3286 case 'second': output = (this - that) / 1e3; break; // 1000 3287 case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 3288 case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 3289 case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst 3290 case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst 3291 default: output = this - that; 3292 } 3293 3294 return asFloat ? output : absFloor(output); 3295 } 3296 3297 function monthDiff (a, b) { 3298 // difference in months 3299 var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), 3300 // b is in (anchor - 1 month, anchor + 1 month) 3301 anchor = a.clone().add(wholeMonthDiff, 'months'), 3302 anchor2, adjust; 3303 3304 if (b - anchor < 0) { 3305 anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); 3306 // linear across the month 3307 adjust = (b - anchor) / (anchor - anchor2); 3308 } else { 3309 anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); 3310 // linear across the month 3311 adjust = (b - anchor) / (anchor2 - anchor); 3312 } 3313 3314 //check for negative zero, return zero if negative zero 3315 return -(wholeMonthDiff + adjust) || 0; 3316 } 3317 3318 hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; 3319 hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; 3320 3321 function toString () { 3322 return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); 3323 } 3324 3325 function toISOString(keepOffset) { 3326 if (!this.isValid()) { 3327 return null; 3328 } 3329 var utc = keepOffset !== true; 3330 var m = utc ? this.clone().utc() : this; 3331 if (m.year() < 0 || m.year() > 9999) { 3332 return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'); 3333 } 3334 if (isFunction(Date.prototype.toISOString)) { 3335 // native implementation is ~50x faster, use it when we can 3336 if (utc) { 3337 return this.toDate().toISOString(); 3338 } else { 3339 return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z')); 3340 } 3341 } 3342 return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); 3343 } 3344 3345 /** 3346 * Return a human readable representation of a moment that can 3347 * also be evaluated to get a new moment which is the same 3348 * 3349 * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects 3350 */ 3351 function inspect () { 3352 if (!this.isValid()) { 3353 return 'moment.invalid(/* ' + this._i + ' */)'; 3354 } 3355 var func = 'moment'; 3356 var zone = ''; 3357 if (!this.isLocal()) { 3358 func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; 3359 zone = 'Z'; 3360 } 3361 var prefix = '[' + func + '("]'; 3362 var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; 3363 var datetime = '-MM-DD[T]HH:mm:ss.SSS'; 3364 var suffix = zone + '[")]'; 3365 3366 return this.format(prefix + year + datetime + suffix); 3367 } 3368 3369 function format (inputString) { 3370 if (!inputString) { 3371 inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; 3372 } 3373 var output = formatMoment(this, inputString); 3374 return this.localeData().postformat(output); 3375 } 3376 3377 function from (time, withoutSuffix) { 3378 if (this.isValid() && 3379 ((isMoment(time) && time.isValid()) || 3380 createLocal(time).isValid())) { 3381 return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); 3382 } else { 3383 return this.localeData().invalidDate(); 3384 } 3385 } 3386 3387 function fromNow (withoutSuffix) { 3388 return this.from(createLocal(), withoutSuffix); 3389 } 3390 3391 function to (time, withoutSuffix) { 3392 if (this.isValid() && 3393 ((isMoment(time) && time.isValid()) || 3394 createLocal(time).isValid())) { 3395 return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); 3396 } else { 3397 return this.localeData().invalidDate(); 3398 } 3399 } 3400 3401 function toNow (withoutSuffix) { 3402 return this.to(createLocal(), withoutSuffix); 3403 } 3404 3405 // If passed a locale key, it will set the locale for this 3406 // instance. Otherwise, it will return the locale configuration 3407 // variables for this instance. 3408 function locale (key) { 3409 var newLocaleData; 3410 3411 if (key === undefined) { 3412 return this._locale._abbr; 3413 } else { 3414 newLocaleData = getLocale(key); 3415 if (newLocaleData != null) { 3416 this._locale = newLocaleData; 3417 } 3418 return this; 3419 } 3420 } 3421 3422 var lang = deprecate( 3423 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', 3424 function (key) { 3425 if (key === undefined) { 3426 return this.localeData(); 3427 } else { 3428 return this.locale(key); 3429 } 3430 } 3431 ); 3432 3433 function localeData () { 3434 return this._locale; 3435 } 3436 3437 var MS_PER_SECOND = 1000; 3438 var MS_PER_MINUTE = 60 * MS_PER_SECOND; 3439 var MS_PER_HOUR = 60 * MS_PER_MINUTE; 3440 var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; 3441 3442 // actual modulo - handles negative numbers (for dates before 1970): 3443 function mod$1(dividend, divisor) { 3444 return (dividend % divisor + divisor) % divisor; 3445 } 3446 3447 function localStartOfDate(y, m, d) { 3448 // the date constructor remaps years 0-99 to 1900-1999 3449 if (y < 100 && y >= 0) { 3450 // preserve leap years using a full 400 year cycle, then reset 3451 return new Date(y + 400, m, d) - MS_PER_400_YEARS; 3452 } else { 3453 return new Date(y, m, d).valueOf(); 3454 } 3455 } 3456 3457 function utcStartOfDate(y, m, d) { 3458 // Date.UTC remaps years 0-99 to 1900-1999 3459 if (y < 100 && y >= 0) { 3460 // preserve leap years using a full 400 year cycle, then reset 3461 return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; 3462 } else { 3463 return Date.UTC(y, m, d); 3464 } 3465 } 3466 3467 function startOf (units) { 3468 var time; 3469 units = normalizeUnits(units); 3470 if (units === undefined || units === 'millisecond' || !this.isValid()) { 3471 return this; 3472 } 3473 3474 var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; 3475 3476 switch (units) { 3477 case 'year': 3478 time = startOfDate(this.year(), 0, 1); 3479 break; 3480 case 'quarter': 3481 time = startOfDate(this.year(), this.month() - this.month() % 3, 1); 3482 break; 3483 case 'month': 3484 time = startOfDate(this.year(), this.month(), 1); 3485 break; 3486 case 'week': 3487 time = startOfDate(this.year(), this.month(), this.date() - this.weekday()); 3488 break; 3489 case 'isoWeek': 3490 time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); 3491 break; 3492 case 'day': 3493 case 'date': 3494 time = startOfDate(this.year(), this.month(), this.date()); 3495 break; 3496 case 'hour': 3497 time = this._d.valueOf(); 3498 time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR); 3499 break; 3500 case 'minute': 3501 time = this._d.valueOf(); 3502 time -= mod$1(time, MS_PER_MINUTE); 3503 break; 3504 case 'second': 3505 time = this._d.valueOf(); 3506 time -= mod$1(time, MS_PER_SECOND); 3507 break; 3508 } 3509 3510 this._d.setTime(time); 3511 hooks.updateOffset(this, true); 3512 return this; 3513 } 3514 3515 function endOf (units) { 3516 var time; 3517 units = normalizeUnits(units); 3518 if (units === undefined || units === 'millisecond' || !this.isValid()) { 3519 return this; 3520 } 3521 3522 var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; 3523 3524 switch (units) { 3525 case 'year': 3526 time = startOfDate(this.year() + 1, 0, 1) - 1; 3527 break; 3528 case 'quarter': 3529 time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; 3530 break; 3531 case 'month': 3532 time = startOfDate(this.year(), this.month() + 1, 1) - 1; 3533 break; 3534 case 'week': 3535 time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; 3536 break; 3537 case 'isoWeek': 3538 time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; 3539 break; 3540 case 'day': 3541 case 'date': 3542 time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; 3543 break; 3544 case 'hour': 3545 time = this._d.valueOf(); 3546 time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1; 3547 break; 3548 case 'minute': 3549 time = this._d.valueOf(); 3550 time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; 3551 break; 3552 case 'second': 3553 time = this._d.valueOf(); 3554 time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; 3555 break; 3556 } 3557 3558 this._d.setTime(time); 3559 hooks.updateOffset(this, true); 3560 return this; 3561 } 3562 3563 function valueOf () { 3564 return this._d.valueOf() - ((this._offset || 0) * 60000); 3565 } 3566 3567 function unix () { 3568 return Math.floor(this.valueOf() / 1000); 3569 } 3570 3571 function toDate () { 3572 return new Date(this.valueOf()); 3573 } 3574 3575 function toArray () { 3576 var m = this; 3577 return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; 3578 } 3579 3580 function toObject () { 3581 var m = this; 3582 return { 3583 years: m.year(), 3584 months: m.month(), 3585 date: m.date(), 3586 hours: m.hours(), 3587 minutes: m.minutes(), 3588 seconds: m.seconds(), 3589 milliseconds: m.milliseconds() 3590 }; 3591 } 3592 3593 function toJSON () { 3594 // new Date(NaN).toJSON() === null 3595 return this.isValid() ? this.toISOString() : null; 3596 } 3597 3598 function isValid$2 () { 3599 return isValid(this); 3600 } 3601 3602 function parsingFlags () { 3603 return extend({}, getParsingFlags(this)); 3604 } 3605 3606 function invalidAt () { 3607 return getParsingFlags(this).overflow; 3608 } 3609 3610 function creationData() { 3611 return { 3612 input: this._i, 3613 format: this._f, 3614 locale: this._locale, 3615 isUTC: this._isUTC, 3616 strict: this._strict 3617 }; 3618 } 3619 3620 // FORMATTING 3621 3622 addFormatToken(0, ['gg', 2], 0, function () { 3623 return this.weekYear() % 100; 3624 }); 3625 3626 addFormatToken(0, ['GG', 2], 0, function () { 3627 return this.isoWeekYear() % 100; 3628 }); 3629 3630 function addWeekYearFormatToken (token, getter) { 3631 addFormatToken(0, [token, token.length], 0, getter); 3632 } 3633 3634 addWeekYearFormatToken('gggg', 'weekYear'); 3635 addWeekYearFormatToken('ggggg', 'weekYear'); 3636 addWeekYearFormatToken('GGGG', 'isoWeekYear'); 3637 addWeekYearFormatToken('GGGGG', 'isoWeekYear'); 3638 3639 // ALIASES 3640 3641 addUnitAlias('weekYear', 'gg'); 3642 addUnitAlias('isoWeekYear', 'GG'); 3643 3644 // PRIORITY 3645 3646 addUnitPriority('weekYear', 1); 3647 addUnitPriority('isoWeekYear', 1); 3648 3649 3650 // PARSING 3651 3652 addRegexToken('G', matchSigned); 3653 addRegexToken('g', matchSigned); 3654 addRegexToken('GG', match1to2, match2); 3655 addRegexToken('gg', match1to2, match2); 3656 addRegexToken('GGGG', match1to4, match4); 3657 addRegexToken('gggg', match1to4, match4); 3658 addRegexToken('GGGGG', match1to6, match6); 3659 addRegexToken('ggggg', match1to6, match6); 3660 3661 addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) { 3662 week[token.substr(0, 2)] = toInt(input); 3663 }); 3664 3665 addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { 3666 week[token] = hooks.parseTwoDigitYear(input); 3667 }); 3668 3669 // MOMENTS 3670 3671 function getSetWeekYear (input) { 3672 return getSetWeekYearHelper.call(this, 3673 input, 3674 this.week(), 3675 this.weekday(), 3676 this.localeData()._week.dow, 3677 this.localeData()._week.doy); 3678 } 3679 3680 function getSetISOWeekYear (input) { 3681 return getSetWeekYearHelper.call(this, 3682 input, this.isoWeek(), this.isoWeekday(), 1, 4); 3683 } 3684 3685 function getISOWeeksInYear () { 3686 return weeksInYear(this.year(), 1, 4); 3687 } 3688 3689 function getWeeksInYear () { 3690 var weekInfo = this.localeData()._week; 3691 return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); 3692 } 3693 3694 function getSetWeekYearHelper(input, week, weekday, dow, doy) { 3695 var weeksTarget; 3696 if (input == null) { 3697 return weekOfYear(this, dow, doy).year; 3698 } else { 3699 weeksTarget = weeksInYear(input, dow, doy); 3700 if (week > weeksTarget) { 3701 week = weeksTarget; 3702 } 3703 return setWeekAll.call(this, input, week, weekday, dow, doy); 3704 } 3705 } 3706 3707 function setWeekAll(weekYear, week, weekday, dow, doy) { 3708 var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), 3709 date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); 3710 3711 this.year(date.getUTCFullYear()); 3712 this.month(date.getUTCMonth()); 3713 this.date(date.getUTCDate()); 3714 return this; 3715 } 3716 3717 // FORMATTING 3718 3719 addFormatToken('Q', 0, 'Qo', 'quarter'); 3720 3721 // ALIASES 3722 3723 addUnitAlias('quarter', 'Q'); 3724 3725 // PRIORITY 3726 3727 addUnitPriority('quarter', 7); 3728 3729 // PARSING 3730 3731 addRegexToken('Q', match1); 3732 addParseToken('Q', function (input, array) { 3733 array[MONTH] = (toInt(input) - 1) * 3; 3734 }); 3735 3736 // MOMENTS 3737 3738 function getSetQuarter (input) { 3739 return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); 3740 } 3741 3742 // FORMATTING 3743 3744 addFormatToken('D', ['DD', 2], 'Do', 'date'); 3745 3746 // ALIASES 3747 3748 addUnitAlias('date', 'D'); 3749 3750 // PRIORITY 3751 addUnitPriority('date', 9); 3752 3753 // PARSING 3754 3755 addRegexToken('D', match1to2); 3756 addRegexToken('DD', match1to2, match2); 3757 addRegexToken('Do', function (isStrict, locale) { 3758 // TODO: Remove "ordinalParse" fallback in next major release. 3759 return isStrict ? 3760 (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : 3761 locale._dayOfMonthOrdinalParseLenient; 3762 }); 3763 3764 addParseToken(['D', 'DD'], DATE); 3765 addParseToken('Do', function (input, array) { 3766 array[DATE] = toInt(input.match(match1to2)[0]); 3767 }); 3768 3769 // MOMENTS 3770 3771 var getSetDayOfMonth = makeGetSet('Date', true); 3772 3773 // FORMATTING 3774 3775 addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); 3776 3777 // ALIASES 3778 3779 addUnitAlias('dayOfYear', 'DDD'); 3780 3781 // PRIORITY 3782 addUnitPriority('dayOfYear', 4); 3783 3784 // PARSING 3785 3786 addRegexToken('DDD', match1to3); 3787 addRegexToken('DDDD', match3); 3788 addParseToken(['DDD', 'DDDD'], function (input, array, config) { 3789 config._dayOfYear = toInt(input); 3790 }); 3791 3792 // HELPERS 3793 3794 // MOMENTS 3795 3796 function getSetDayOfYear (input) { 3797 var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; 3798 return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); 3799 } 3800 3801 // FORMATTING 3802 3803 addFormatToken('m', ['mm', 2], 0, 'minute'); 3804 3805 // ALIASES 3806 3807 addUnitAlias('minute', 'm'); 3808 3809 // PRIORITY 3810 3811 addUnitPriority('minute', 14); 3812 3813 // PARSING 3814 3815 addRegexToken('m', match1to2); 3816 addRegexToken('mm', match1to2, match2); 3817 addParseToken(['m', 'mm'], MINUTE); 3818 3819 // MOMENTS 3820 3821 var getSetMinute = makeGetSet('Minutes', false); 3822 3823 // FORMATTING 3824 3825 addFormatToken('s', ['ss', 2], 0, 'second'); 3826 3827 // ALIASES 3828 3829 addUnitAlias('second', 's'); 3830 3831 // PRIORITY 3832 3833 addUnitPriority('second', 15); 3834 3835 // PARSING 3836 3837 addRegexToken('s', match1to2); 3838 addRegexToken('ss', match1to2, match2); 3839 addParseToken(['s', 'ss'], SECOND); 3840 3841 // MOMENTS 3842 3843 var getSetSecond = makeGetSet('Seconds', false); 3844 3845 // FORMATTING 3846 3847 addFormatToken('S', 0, 0, function () { 3848 return ~~(this.millisecond() / 100); 3849 }); 3850 3851 addFormatToken(0, ['SS', 2], 0, function () { 3852 return ~~(this.millisecond() / 10); 3853 }); 3854 3855 addFormatToken(0, ['SSS', 3], 0, 'millisecond'); 3856 addFormatToken(0, ['SSSS', 4], 0, function () { 3857 return this.millisecond() * 10; 3858 }); 3859 addFormatToken(0, ['SSSSS', 5], 0, function () { 3860 return this.millisecond() * 100; 3861 }); 3862 addFormatToken(0, ['SSSSSS', 6], 0, function () { 3863 return this.millisecond() * 1000; 3864 }); 3865 addFormatToken(0, ['SSSSSSS', 7], 0, function () { 3866 return this.millisecond() * 10000; 3867 }); 3868 addFormatToken(0, ['SSSSSSSS', 8], 0, function () { 3869 return this.millisecond() * 100000; 3870 }); 3871 addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { 3872 return this.millisecond() * 1000000; 3873 }); 3874 3875 3876 // ALIASES 3877 3878 addUnitAlias('millisecond', 'ms'); 3879 3880 // PRIORITY 3881 3882 addUnitPriority('millisecond', 16); 3883 3884 // PARSING 3885 3886 addRegexToken('S', match1to3, match1); 3887 addRegexToken('SS', match1to3, match2); 3888 addRegexToken('SSS', match1to3, match3); 3889 3890 var token; 3891 for (token = 'SSSS'; token.length <= 9; token += 'S') { 3892 addRegexToken(token, matchUnsigned); 3893 } 3894 3895 function parseMs(input, array) { 3896 array[MILLISECOND] = toInt(('0.' + input) * 1000); 3897 } 3898 3899 for (token = 'S'; token.length <= 9; token += 'S') { 3900 addParseToken(token, parseMs); 3901 } 3902 // MOMENTS 3903 3904 var getSetMillisecond = makeGetSet('Milliseconds', false); 3905 3906 // FORMATTING 3907 3908 addFormatToken('z', 0, 0, 'zoneAbbr'); 3909 addFormatToken('zz', 0, 0, 'zoneName'); 3910 3911 // MOMENTS 3912 3913 function getZoneAbbr () { 3914 return this._isUTC ? 'UTC' : ''; 3915 } 3916 3917 function getZoneName () { 3918 return this._isUTC ? 'Coordinated Universal Time' : ''; 3919 } 3920 3921 var proto = Moment.prototype; 3922 3923 proto.add = add; 3924 proto.calendar = calendar$1; 3925 proto.clone = clone; 3926 proto.diff = diff; 3927 proto.endOf = endOf; 3928 proto.format = format; 3929 proto.from = from; 3930 proto.fromNow = fromNow; 3931 proto.to = to; 3932 proto.toNow = toNow; 3933 proto.get = stringGet; 3934 proto.invalidAt = invalidAt; 3935 proto.isAfter = isAfter; 3936 proto.isBefore = isBefore; 3937 proto.isBetween = isBetween; 3938 proto.isSame = isSame; 3939 proto.isSameOrAfter = isSameOrAfter; 3940 proto.isSameOrBefore = isSameOrBefore; 3941 proto.isValid = isValid$2; 3942 proto.lang = lang; 3943 proto.locale = locale; 3944 proto.localeData = localeData; 3945 proto.max = prototypeMax; 3946 proto.min = prototypeMin; 3947 proto.parsingFlags = parsingFlags; 3948 proto.set = stringSet; 3949 proto.startOf = startOf; 3950 proto.subtract = subtract; 3951 proto.toArray = toArray; 3952 proto.toObject = toObject; 3953 proto.toDate = toDate; 3954 proto.toISOString = toISOString; 3955 proto.inspect = inspect; 3956 proto.toJSON = toJSON; 3957 proto.toString = toString; 3958 proto.unix = unix; 3959 proto.valueOf = valueOf; 3960 proto.creationData = creationData; 3961 proto.year = getSetYear; 3962 proto.isLeapYear = getIsLeapYear; 3963 proto.weekYear = getSetWeekYear; 3964 proto.isoWeekYear = getSetISOWeekYear; 3965 proto.quarter = proto.quarters = getSetQuarter; 3966 proto.month = getSetMonth; 3967 proto.daysInMonth = getDaysInMonth; 3968 proto.week = proto.weeks = getSetWeek; 3969 proto.isoWeek = proto.isoWeeks = getSetISOWeek; 3970 proto.weeksInYear = getWeeksInYear; 3971 proto.isoWeeksInYear = getISOWeeksInYear; 3972 proto.date = getSetDayOfMonth; 3973 proto.day = proto.days = getSetDayOfWeek; 3974 proto.weekday = getSetLocaleDayOfWeek; 3975 proto.isoWeekday = getSetISODayOfWeek; 3976 proto.dayOfYear = getSetDayOfYear; 3977 proto.hour = proto.hours = getSetHour; 3978 proto.minute = proto.minutes = getSetMinute; 3979 proto.second = proto.seconds = getSetSecond; 3980 proto.millisecond = proto.milliseconds = getSetMillisecond; 3981 proto.utcOffset = getSetOffset; 3982 proto.utc = setOffsetToUTC; 3983 proto.local = setOffsetToLocal; 3984 proto.parseZone = setOffsetToParsedOffset; 3985 proto.hasAlignedHourOffset = hasAlignedHourOffset; 3986 proto.isDST = isDaylightSavingTime; 3987 proto.isLocal = isLocal; 3988 proto.isUtcOffset = isUtcOffset; 3989 proto.isUtc = isUtc; 3990 proto.isUTC = isUtc; 3991 proto.zoneAbbr = getZoneAbbr; 3992 proto.zoneName = getZoneName; 3993 proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth); 3994 proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth); 3995 proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear); 3996 proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone); 3997 proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted); 3998 3999 function createUnix (input) { 4000 return createLocal(input * 1000); 4001 } 4002 4003 function createInZone () { 4004 return createLocal.apply(null, arguments).parseZone(); 4005 } 4006 4007 function preParsePostFormat (string) { 4008 return string; 4009 } 4010 4011 var proto$1 = Locale.prototype; 4012 4013 proto$1.calendar = calendar; 4014 proto$1.longDateFormat = longDateFormat; 4015 proto$1.invalidDate = invalidDate; 4016 proto$1.ordinal = ordinal; 4017 proto$1.preparse = preParsePostFormat; 4018 proto$1.postformat = preParsePostFormat; 4019 proto$1.relativeTime = relativeTime; 4020 proto$1.pastFuture = pastFuture; 4021 proto$1.set = set; 4022 4023 proto$1.months = localeMonths; 4024 proto$1.monthsShort = localeMonthsShort; 4025 proto$1.monthsParse = localeMonthsParse; 4026 proto$1.monthsRegex = monthsRegex; 4027 proto$1.monthsShortRegex = monthsShortRegex; 4028 proto$1.week = localeWeek; 4029 proto$1.firstDayOfYear = localeFirstDayOfYear; 4030 proto$1.firstDayOfWeek = localeFirstDayOfWeek; 4031 4032 proto$1.weekdays = localeWeekdays; 4033 proto$1.weekdaysMin = localeWeekdaysMin; 4034 proto$1.weekdaysShort = localeWeekdaysShort; 4035 proto$1.weekdaysParse = localeWeekdaysParse; 4036 4037 proto$1.weekdaysRegex = weekdaysRegex; 4038 proto$1.weekdaysShortRegex = weekdaysShortRegex; 4039 proto$1.weekdaysMinRegex = weekdaysMinRegex; 4040 4041 proto$1.isPM = localeIsPM; 4042 proto$1.meridiem = localeMeridiem; 4043 4044 function get$1 (format, index, field, setter) { 4045 var locale = getLocale(); 4046 var utc = createUTC().set(setter, index); 4047 return locale[field](utc, format); 4048 } 4049 4050 function listMonthsImpl (format, index, field) { 4051 if (isNumber(format)) { 4052 index = format; 4053 format = undefined; 4054 } 4055 4056 format = format || ''; 4057 4058 if (index != null) { 4059 return get$1(format, index, field, 'month'); 4060 } 4061 4062 var i; 4063 var out = []; 4064 for (i = 0; i < 12; i++) { 4065 out[i] = get$1(format, i, field, 'month'); 4066 } 4067 return out; 4068 } 4069 4070 // () 4071 // (5) 4072 // (fmt, 5) 4073 // (fmt) 4074 // (true) 4075 // (true, 5) 4076 // (true, fmt, 5) 4077 // (true, fmt) 4078 function listWeekdaysImpl (localeSorted, format, index, field) { 4079 if (typeof localeSorted === 'boolean') { 4080 if (isNumber(format)) { 4081 index = format; 4082 format = undefined; 4083 } 4084 4085 format = format || ''; 4086 } else { 4087 format = localeSorted; 4088 index = format; 4089 localeSorted = false; 4090 4091 if (isNumber(format)) { 4092 index = format; 4093 format = undefined; 4094 } 4095 4096 format = format || ''; 4097 } 4098 4099 var locale = getLocale(), 4100 shift = localeSorted ? locale._week.dow : 0; 4101 4102 if (index != null) { 4103 return get$1(format, (index + shift) % 7, field, 'day'); 4104 } 4105 4106 var i; 4107 var out = []; 4108 for (i = 0; i < 7; i++) { 4109 out[i] = get$1(format, (i + shift) % 7, field, 'day'); 4110 } 4111 return out; 4112 } 4113 4114 function listMonths (format, index) { 4115 return listMonthsImpl(format, index, 'months'); 4116 } 4117 4118 function listMonthsShort (format, index) { 4119 return listMonthsImpl(format, index, 'monthsShort'); 4120 } 4121 4122 function listWeekdays (localeSorted, format, index) { 4123 return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); 4124 } 4125 4126 function listWeekdaysShort (localeSorted, format, index) { 4127 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); 4128 } 4129 4130 function listWeekdaysMin (localeSorted, format, index) { 4131 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); 4132 } 4133 4134 getSetGlobalLocale('en', { 4135 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, 4136 ordinal : function (number) { 4137 var b = number % 10, 4138 output = (toInt(number % 100 / 10) === 1) ? 'th' : 4139 (b === 1) ? 'st' : 4140 (b === 2) ? 'nd' : 4141 (b === 3) ? 'rd' : 'th'; 4142 return number + output; 4143 } 4144 }); 4145 4146 // Side effect imports 4147 4148 hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); 4149 hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); 4150 4151 var mathAbs = Math.abs; 4152 4153 function abs () { 4154 var data = this._data; 4155 4156 this._milliseconds = mathAbs(this._milliseconds); 4157 this._days = mathAbs(this._days); 4158 this._months = mathAbs(this._months); 4159 4160 data.milliseconds = mathAbs(data.milliseconds); 4161 data.seconds = mathAbs(data.seconds); 4162 data.minutes = mathAbs(data.minutes); 4163 data.hours = mathAbs(data.hours); 4164 data.months = mathAbs(data.months); 4165 data.years = mathAbs(data.years); 4166 4167 return this; 4168 } 4169 4170 function addSubtract$1 (duration, input, value, direction) { 4171 var other = createDuration(input, value); 4172 4173 duration._milliseconds += direction * other._milliseconds; 4174 duration._days += direction * other._days; 4175 duration._months += direction * other._months; 4176 4177 return duration._bubble(); 4178 } 4179 4180 // supports only 2.0-style add(1, 's') or add(duration) 4181 function add$1 (input, value) { 4182 return addSubtract$1(this, input, value, 1); 4183 } 4184 4185 // supports only 2.0-style subtract(1, 's') or subtract(duration) 4186 function subtract$1 (input, value) { 4187 return addSubtract$1(this, input, value, -1); 4188 } 4189 4190 function absCeil (number) { 4191 if (number < 0) { 4192 return Math.floor(number); 4193 } else { 4194 return Math.ceil(number); 4195 } 4196 } 4197 4198 function bubble () { 4199 var milliseconds = this._milliseconds; 4200 var days = this._days; 4201 var months = this._months; 4202 var data = this._data; 4203 var seconds, minutes, hours, years, monthsFromDays; 4204 4205 // if we have a mix of positive and negative values, bubble down first 4206 // check: https://github.com/moment/moment/issues/2166 4207 if (!((milliseconds >= 0 && days >= 0 && months >= 0) || 4208 (milliseconds <= 0 && days <= 0 && months <= 0))) { 4209 milliseconds += absCeil(monthsToDays(months) + days) * 864e5; 4210 days = 0; 4211 months = 0; 4212 } 4213 4214 // The following code bubbles up values, see the tests for 4215 // examples of what that means. 4216 data.milliseconds = milliseconds % 1000; 4217 4218 seconds = absFloor(milliseconds / 1000); 4219 data.seconds = seconds % 60; 4220 4221 minutes = absFloor(seconds / 60); 4222 data.minutes = minutes % 60; 4223 4224 hours = absFloor(minutes / 60); 4225 data.hours = hours % 24; 4226 4227 days += absFloor(hours / 24); 4228 4229 // convert days to months 4230 monthsFromDays = absFloor(daysToMonths(days)); 4231 months += monthsFromDays; 4232 days -= absCeil(monthsToDays(monthsFromDays)); 4233 4234 // 12 months -> 1 year 4235 years = absFloor(months / 12); 4236 months %= 12; 4237 4238 data.days = days; 4239 data.months = months; 4240 data.years = years; 4241 4242 return this; 4243 } 4244 4245 function daysToMonths (days) { 4246 // 400 years have 146097 days (taking into account leap year rules) 4247 // 400 years have 12 months === 4800 4248 return days * 4800 / 146097; 4249 } 4250 4251 function monthsToDays (months) { 4252 // the reverse of daysToMonths 4253 return months * 146097 / 4800; 4254 } 4255 4256 function as (units) { 4257 if (!this.isValid()) { 4258 return NaN; 4259 } 4260 var days; 4261 var months; 4262 var milliseconds = this._milliseconds; 4263 4264 units = normalizeUnits(units); 4265 4266 if (units === 'month' || units === 'quarter' || units === 'year') { 4267 days = this._days + milliseconds / 864e5; 4268 months = this._months + daysToMonths(days); 4269 switch (units) { 4270 case 'month': return months; 4271 case 'quarter': return months / 3; 4272 case 'year': return months / 12; 4273 } 4274 } else { 4275 // handle milliseconds separately because of floating point math errors (issue #1867) 4276 days = this._days + Math.round(monthsToDays(this._months)); 4277 switch (units) { 4278 case 'week' : return days / 7 + milliseconds / 6048e5; 4279 case 'day' : return days + milliseconds / 864e5; 4280 case 'hour' : return days * 24 + milliseconds / 36e5; 4281 case 'minute' : return days * 1440 + milliseconds / 6e4; 4282 case 'second' : return days * 86400 + milliseconds / 1000; 4283 // Math.floor prevents floating point math errors here 4284 case 'millisecond': return Math.floor(days * 864e5) + milliseconds; 4285 default: throw new Error('Unknown unit ' + units); 4286 } 4287 } 4288 } 4289 4290 // TODO: Use this.as('ms')? 4291 function valueOf$1 () { 4292 if (!this.isValid()) { 4293 return NaN; 4294 } 4295 return ( 4296 this._milliseconds + 4297 this._days * 864e5 + 4298 (this._months % 12) * 2592e6 + 4299 toInt(this._months / 12) * 31536e6 4300 ); 4301 } 4302 4303 function makeAs (alias) { 4304 return function () { 4305 return this.as(alias); 4306 }; 4307 } 4308 4309 var asMilliseconds = makeAs('ms'); 4310 var asSeconds = makeAs('s'); 4311 var asMinutes = makeAs('m'); 4312 var asHours = makeAs('h'); 4313 var asDays = makeAs('d'); 4314 var asWeeks = makeAs('w'); 4315 var asMonths = makeAs('M'); 4316 var asQuarters = makeAs('Q'); 4317 var asYears = makeAs('y'); 4318 4319 function clone$1 () { 4320 return createDuration(this); 4321 } 4322 4323 function get$2 (units) { 4324 units = normalizeUnits(units); 4325 return this.isValid() ? this[units + 's']() : NaN; 4326 } 4327 4328 function makeGetter(name) { 4329 return function () { 4330 return this.isValid() ? this._data[name] : NaN; 4331 }; 4332 } 4333 4334 var milliseconds = makeGetter('milliseconds'); 4335 var seconds = makeGetter('seconds'); 4336 var minutes = makeGetter('minutes'); 4337 var hours = makeGetter('hours'); 4338 var days = makeGetter('days'); 4339 var months = makeGetter('months'); 4340 var years = makeGetter('years'); 4341 4342 function weeks () { 4343 return absFloor(this.days() / 7); 4344 } 4345 4346 var round = Math.round; 4347 var thresholds = { 4348 ss: 44, // a few seconds to seconds 4349 s : 45, // seconds to minute 4350 m : 45, // minutes to hour 4351 h : 22, // hours to day 4352 d : 26, // days to month 4353 M : 11 // months to year 4354 }; 4355 4356 // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize 4357 function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { 4358 return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); 4359 } 4360 4361 function relativeTime$1 (posNegDuration, withoutSuffix, locale) { 4362 var duration = createDuration(posNegDuration).abs(); 4363 var seconds = round(duration.as('s')); 4364 var minutes = round(duration.as('m')); 4365 var hours = round(duration.as('h')); 4366 var days = round(duration.as('d')); 4367 var months = round(duration.as('M')); 4368 var years = round(duration.as('y')); 4369 4370 var a = seconds <= thresholds.ss && ['s', seconds] || 4371 seconds < thresholds.s && ['ss', seconds] || 4372 minutes <= 1 && ['m'] || 4373 minutes < thresholds.m && ['mm', minutes] || 4374 hours <= 1 && ['h'] || 4375 hours < thresholds.h && ['hh', hours] || 4376 days <= 1 && ['d'] || 4377 days < thresholds.d && ['dd', days] || 4378 months <= 1 && ['M'] || 4379 months < thresholds.M && ['MM', months] || 4380 years <= 1 && ['y'] || ['yy', years]; 4381 4382 a[2] = withoutSuffix; 4383 a[3] = +posNegDuration > 0; 4384 a[4] = locale; 4385 return substituteTimeAgo.apply(null, a); 4386 } 4387 4388 // This function allows you to set the rounding function for relative time strings 4389 function getSetRelativeTimeRounding (roundingFunction) { 4390 if (roundingFunction === undefined) { 4391 return round; 4392 } 4393 if (typeof(roundingFunction) === 'function') { 4394 round = roundingFunction; 4395 return true; 4396 } 4397 return false; 4398 } 4399 4400 // This function allows you to set a threshold for relative time strings 4401 function getSetRelativeTimeThreshold (threshold, limit) { 4402 if (thresholds[threshold] === undefined) { 4403 return false; 4404 } 4405 if (limit === undefined) { 4406 return thresholds[threshold]; 4407 } 4408 thresholds[threshold] = limit; 4409 if (threshold === 's') { 4410 thresholds.ss = limit - 1; 4411 } 4412 return true; 4413 } 4414 4415 function humanize (withSuffix) { 4416 if (!this.isValid()) { 4417 return this.localeData().invalidDate(); 4418 } 4419 4420 var locale = this.localeData(); 4421 var output = relativeTime$1(this, !withSuffix, locale); 4422 4423 if (withSuffix) { 4424 output = locale.pastFuture(+this, output); 4425 } 4426 4427 return locale.postformat(output); 4428 } 4429 4430 var abs$1 = Math.abs; 4431 4432 function sign(x) { 4433 return ((x > 0) - (x < 0)) || +x; 4434 } 4435 4436 function toISOString$1() { 4437 // for ISO strings we do not use the normal bubbling rules: 4438 // * milliseconds bubble up until they become hours 4439 // * days do not bubble at all 4440 // * months bubble up until they become years 4441 // This is because there is no context-free conversion between hours and days 4442 // (think of clock changes) 4443 // and also not between days and months (28-31 days per month) 4444 if (!this.isValid()) { 4445 return this.localeData().invalidDate(); 4446 } 4447 4448 var seconds = abs$1(this._milliseconds) / 1000; 4449 var days = abs$1(this._days); 4450 var months = abs$1(this._months); 4451 var minutes, hours, years; 4452 4453 // 3600 seconds -> 60 minutes -> 1 hour 4454 minutes = absFloor(seconds / 60); 4455 hours = absFloor(minutes / 60); 4456 seconds %= 60; 4457 minutes %= 60; 4458 4459 // 12 months -> 1 year 4460 years = absFloor(months / 12); 4461 months %= 12; 4462 4463 4464 // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js 4465 var Y = years; 4466 var M = months; 4467 var D = days; 4468 var h = hours; 4469 var m = minutes; 4470 var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; 4471 var total = this.asSeconds(); 4472 4473 if (!total) { 4474 // this is the same as C#'s (Noda) and python (isodate)... 4475 // but not other JS (goog.date) 4476 return 'P0D'; 4477 } 4478 4479 var totalSign = total < 0 ? '-' : ''; 4480 var ymSign = sign(this._months) !== sign(total) ? '-' : ''; 4481 var daysSign = sign(this._days) !== sign(total) ? '-' : ''; 4482 var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; 4483 4484 return totalSign + 'P' + 4485 (Y ? ymSign + Y + 'Y' : '') + 4486 (M ? ymSign + M + 'M' : '') + 4487 (D ? daysSign + D + 'D' : '') + 4488 ((h || m || s) ? 'T' : '') + 4489 (h ? hmsSign + h + 'H' : '') + 4490 (m ? hmsSign + m + 'M' : '') + 4491 (s ? hmsSign + s + 'S' : ''); 4492 } 4493 4494 var proto$2 = Duration.prototype; 4495 4496 proto$2.isValid = isValid$1; 4497 proto$2.abs = abs; 4498 proto$2.add = add$1; 4499 proto$2.subtract = subtract$1; 4500 proto$2.as = as; 4501 proto$2.asMilliseconds = asMilliseconds; 4502 proto$2.asSeconds = asSeconds; 4503 proto$2.asMinutes = asMinutes; 4504 proto$2.asHours = asHours; 4505 proto$2.asDays = asDays; 4506 proto$2.asWeeks = asWeeks; 4507 proto$2.asMonths = asMonths; 4508 proto$2.asQuarters = asQuarters; 4509 proto$2.asYears = asYears; 4510 proto$2.valueOf = valueOf$1; 4511 proto$2._bubble = bubble; 4512 proto$2.clone = clone$1; 4513 proto$2.get = get$2; 4514 proto$2.milliseconds = milliseconds; 4515 proto$2.seconds = seconds; 4516 proto$2.minutes = minutes; 4517 proto$2.hours = hours; 4518 proto$2.days = days; 4519 proto$2.weeks = weeks; 4520 proto$2.months = months; 4521 proto$2.years = years; 4522 proto$2.humanize = humanize; 4523 proto$2.toISOString = toISOString$1; 4524 proto$2.toString = toISOString$1; 4525 proto$2.toJSON = toISOString$1; 4526 proto$2.locale = locale; 4527 proto$2.localeData = localeData; 4528 4529 proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1); 4530 proto$2.lang = lang; 4531 4532 // Side effect imports 4533 4534 // FORMATTING 4535 4536 addFormatToken('X', 0, 0, 'unix'); 4537 addFormatToken('x', 0, 0, 'valueOf'); 4538 4539 // PARSING 4540 4541 addRegexToken('x', matchSigned); 4542 addRegexToken('X', matchTimestamp); 4543 addParseToken('X', function (input, array, config) { 4544 config._d = new Date(parseFloat(input, 10) * 1000); 4545 }); 4546 addParseToken('x', function (input, array, config) { 4547 config._d = new Date(toInt(input)); 4548 }); 4549 4550 // Side effect imports 4551
4552 //! moment.js 4553 4554 hooks.version = '2.24.0'; 4555 4556 setHookCallback(createLocal); 4557 4558 hooks.fn = proto; 4559 hooks.min = min; 4560 hooks.max = max; 4561 hooks.now = now; 4562 hooks.utc = createUTC; 4563 hooks.unix = createUnix; 4564 hooks.months = listMonths; 4565 hooks.isDate = isDate; 4566 hooks.locale = getSetGlobalLocale; 4567 hooks.invalid = createInvalid; 4568 hooks.duration = createDuration; 4569 hooks.isMoment = isMoment; 4570 hooks.weekdays = listWeekdays; 4571 hooks.parseZone = createInZone; 4572 hooks.localeData = getLocale; 4573 hooks.isDuration = isDuration; 4574 hooks.monthsShort = listMonthsShort; 4575 hooks.weekdaysMin = listWeekdaysMin; 4576 hooks.defineLocale = defineLocale; 4577 hooks.updateLocale = updateLocale; 4578 hooks.locales = listLocales; 4579 hooks.weekdaysShort = listWeekdaysShort; 4580 hooks.normalizeUnits = normalizeUnits; 4581 hooks.relativeTimeRounding = getSetRelativeTimeRounding; 4582 hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; 4583 hooks.calendarFormat = getCalendarFormat; 4584 hooks.prototype = proto; 4585 4586 // currently HTML5 input type only supports 24-hour formats 4587 hooks.HTML5_FMT = { 4588 DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" /> 4589 DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" /> 4590 DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" /> 4591 DATE: 'YYYY-MM-DD', // <input type="date" /> 4592 TIME: 'HH:mm', // <input type="time" /> 4593 TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" /> 4594 TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" /> 4595 WEEK: 'GGGG-[W]WW', // <input type="week" /> 4596 MONTH: 'YYYY-MM' // <input type="month" /> 4597 }; 4598 4599 //! moment.js locale configuration 4600 4601 hooks.defineLocale('af', { 4602 months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'), 4603 monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), 4604 weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'), 4605 weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), 4606 weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), 4607 meridiemParse: /vm|nm/i, 4608 isPM : function (input) { 4609 return /^nm$/i.test(input); 4610 }, 4611 meridiem : function (hours, minutes, isLower) { 4612 if (hours < 12) { 4613 return isLower ? 'vm' : 'VM'; 4614 } else { 4615 return isLower ? 'nm' : 'NM'; 4616 } 4617 }, 4618 longDateFormat : { 4619 LT : 'HH:mm', 4620 LTS : 'HH:mm:ss', 4621 L : 'DD/MM/YYYY', 4622 LL : 'D MMMM YYYY', 4623 LLL : 'D MMMM YYYY HH:mm', 4624 LLLL : 'dddd, D MMMM YYYY HH:mm' 4625 }, 4626 calendar : { 4627 sameDay : '[Vandag om] LT', 4628 nextDay : '[Môre om] LT', 4629 nextWeek : 'dddd [om] LT', 4630 lastDay : '[Gister om] LT', 4631 lastWeek : '[Laas] dddd [om] LT', 4632 sameElse : 'L' 4633 }, 4634 relativeTime : {
vendor: 61,842 bytes, lines 4635-6220
4635 future : 'oor %s', 4636 past : '%s gelede', 4637 s : '\'n paar sekondes', 4638 ss : '%d sekondes', 4639 m : '\'n minuut', 4640 mm : '%d minute', 4641 h : '\'n uur', 4642 hh : '%d ure', 4643 d : '\'n dag', 4644 dd : '%d dae', 4645 M : '\'n maand', 4646 MM : '%d maande', 4647 y : '\'n jaar', 4648 yy : '%d jaar' 4649 }, 4650 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 4651 ordinal : function (number) { 4652 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter 4653 }, 4654 week : { 4655 dow : 1, // Maandag is die eerste dag van die week. 4656 doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. 4657 } 4658 }); 4659 4660 //! moment.js locale configuration 4661 4662 hooks.defineLocale('ar-dz', { 4663 months : 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 4664 monthsShort : 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 4665 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4666 weekdaysShort : 'Ø§ØØ¯_اثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_اربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4667 weekdaysMin : 'Ø£Ø_إث_Ø«ÙØ§_أر_خ٠_ج٠_سب'.split('_'), 4668 weekdaysParseExact : true, 4669 longDateFormat : { 4670 LT : 'HH:mm', 4671 LTS : 'HH:mm:ss', 4672 L : 'DD/MM/YYYY', 4673 LL : 'D MMMM YYYY', 4674 LLL : 'D MMMM YYYY HH:mm', 4675 LLLL : 'dddd D MMMM YYYY HH:mm' 4676 }, 4677 calendar : { 4678 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4679 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4680 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4681 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4682 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4683 sameElse: 'L' 4684 }, 4685 relativeTime : { 4686 future : 'ÙÙ %s', 4687 past : 'Ù ÙØ° %s', 4688 s : 'Ø«ÙØ§Ù', 4689 ss : '%d ثاÙÙØ©', 4690 m : 'دÙÙÙØ©', 4691 mm : '%d Ø¯ÙØ§Ø¦Ù', 4692 h : 'ساعة', 4693 hh : '%d ساعات', 4694 d : 'ÙÙÙ ', 4695 dd : '%d Ø£ÙØ§Ù ', 4696 M : 'Ø´ÙØ±', 4697 MM : '%d Ø£Ø´ÙØ±', 4698 y : 'Ø³ÙØ©', 4699 yy : '%d سÙÙØ§Øª' 4700 }, 4701 week : { 4702 dow : 0, // Sunday is the first day of the week. 4703 doy : 4 // The week that contains Jan 4th is the first week of the year. 4704 } 4705 }); 4706 4707 //! moment.js locale configuration 4708 4709 hooks.defineLocale('ar-kw', { 4710 months : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split('_'), 4711 monthsShort : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split('_'), 4712 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥ØªÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4713 weekdaysShort : 'Ø§ØØ¯_اتÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_اربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4714 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4715 weekdaysParseExact : true, 4716 longDateFormat : { 4717 LT : 'HH:mm', 4718 LTS : 'HH:mm:ss', 4719 L : 'DD/MM/YYYY', 4720 LL : 'D MMMM YYYY', 4721 LLL : 'D MMMM YYYY HH:mm', 4722 LLLL : 'dddd D MMMM YYYY HH:mm' 4723 }, 4724 calendar : { 4725 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4726 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4727 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4728 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4729 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4730 sameElse: 'L' 4731 }, 4732 relativeTime : { 4733 future : 'ÙÙ %s', 4734 past : 'Ù ÙØ° %s', 4735 s : 'Ø«ÙØ§Ù', 4736 ss : '%d ثاÙÙØ©', 4737 m : 'دÙÙÙØ©', 4738 mm : '%d Ø¯ÙØ§Ø¦Ù', 4739 h : 'ساعة', 4740 hh : '%d ساعات', 4741 d : 'ÙÙÙ ', 4742 dd : '%d Ø£ÙØ§Ù ', 4743 M : 'Ø´ÙØ±', 4744 MM : '%d Ø£Ø´ÙØ±', 4745 y : 'Ø³ÙØ©', 4746 yy : '%d سÙÙØ§Øª' 4747 }, 4748 week : { 4749 dow : 0, // Sunday is the first day of the week. 4750 doy : 12 // The week that contains Jan 12th is the first week of the year. 4751 } 4752 }); 4753 4754 //! moment.js locale configuration 4755 4756 var symbolMap = { 4757 '1': '1', 4758 '2': '2', 4759 '3': '3', 4760 '4': '4', 4761 '5': '5', 4762 '6': '6', 4763 '7': '7', 4764 '8': '8', 4765 '9': '9', 4766 '0': '0' 4767 }, pluralForm = function (n) { 4768 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; 4769 }, plurals = { 4770 s : ['Ø£Ù٠٠٠ثاÙÙØ©', 'ثاÙÙØ© ÙØ§ØØ¯Ø©', ['ثاÙÙØªØ§Ù', 'ثاÙÙØªÙÙ'], '%d Ø«ÙØ§Ù', '%d ثاÙÙØ©', '%d ثاÙÙØ©'], 4771 m : ['Ø£Ù٠٠٠دÙÙÙØ©', 'دÙÙÙØ© ÙØ§ØØ¯Ø©', ['دÙÙÙØªØ§Ù', 'دÙÙÙØªÙÙ'], '%d Ø¯ÙØ§Ø¦Ù', '%d دÙÙÙØ©', '%d دÙÙÙØ©'], 4772 h : ['Ø£Ù٠٠٠ساعة', 'ساعة ÙØ§ØØ¯Ø©', ['ساعتاÙ', 'ساعتÙÙ'], '%d ساعات', '%d ساعة', '%d ساعة'], 4773 d : ['Ø£ÙÙ Ù Ù ÙÙÙ ', 'ÙÙÙ ÙØ§ØØ¯', ['ÙÙ٠اÙ', 'ÙÙÙ ÙÙ'], '%d Ø£ÙØ§Ù ', '%d ÙÙÙ ÙØ§', '%d ÙÙÙ '], 4774 M : ['Ø£ÙÙ Ù Ù Ø´ÙØ±', 'Ø´ÙØ± ÙØ§ØØ¯', ['Ø´ÙØ±Ø§Ù', 'Ø´ÙØ±ÙÙ'], '%d Ø£Ø´ÙØ±', '%d Ø´ÙØ±Ø§', '%d Ø´ÙØ±'], 4775 y : ['Ø£Ù٠٠٠عا٠', 'Ø¹Ø§Ù ÙØ§ØØ¯', ['عا٠اÙ', 'عا٠ÙÙ'], '%d Ø£Ø¹ÙØ§Ù ', '%d Ø¹Ø§Ù ÙØ§', '%d عا٠'] 4776 }, pluralize = function (u) { 4777 return function (number, withoutSuffix, string, isFuture) { 4778 var f = pluralForm(number), 4779 str = plurals[u][pluralForm(number)]; 4780 if (f === 2) { 4781 str = str[withoutSuffix ? 0 : 1]; 4782 } 4783 return str.replace(/%d/i, number); 4784 }; 4785 }, months$1 = [ 4786 'ÙÙØ§Ùر', 4787 'ÙØ¨Ø±Ø§Ùر', 4788 '٠ارس', 4789 'أبرÙÙ', 4790 '٠اÙÙ', 4791 'ÙÙÙÙÙ', 4792 'ÙÙÙÙÙ', 4793 'أغسطس', 4794 'سبت٠بر', 4795 'Ø£ÙØªÙبر', 4796 'ÙÙÙ٠بر', 4797 'Ø¯ÙØ³Ù بر' 4798 ]; 4799 4800 hooks.defineLocale('ar-ly', { 4801 months : months$1, 4802 monthsShort : months$1, 4803 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4804 weekdaysShort : 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4805 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4806 weekdaysParseExact : true, 4807 longDateFormat : { 4808 LT : 'HH:mm', 4809 LTS : 'HH:mm:ss', 4810 L : 'D/\u200FM/\u200FYYYY', 4811 LL : 'D MMMM YYYY', 4812 LLL : 'D MMMM YYYY HH:mm', 4813 LLLL : 'dddd D MMMM YYYY HH:mm' 4814 }, 4815 meridiemParse: /ص|Ù /, 4816 isPM : function (input) { 4817 return 'Ù ' === input; 4818 }, 4819 meridiem : function (hour, minute, isLower) { 4820 if (hour < 12) { 4821 return 'ص'; 4822 } else { 4823 return 'Ù '; 4824 } 4825 }, 4826 calendar : { 4827 sameDay: '[اÙÙÙÙ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4828 nextDay: '[ØºØ¯ÙØ§ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4829 nextWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4830 lastDay: '[أ٠س Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4831 lastWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4832 sameElse: 'L' 4833 }, 4834 relativeTime : { 4835 future : 'بعد %s', 4836 past : 'Ù ÙØ° %s', 4837 s : pluralize('s'), 4838 ss : pluralize('s'), 4839 m : pluralize('m'), 4840 mm : pluralize('m'), 4841 h : pluralize('h'), 4842 hh : pluralize('h'), 4843 d : pluralize('d'), 4844 dd : pluralize('d'), 4845 M : pluralize('M'), 4846 MM : pluralize('M'), 4847 y : pluralize('y'), 4848 yy : pluralize('y') 4849 }, 4850 preparse: function (string) { 4851 return string.replace(/Ø/g, ','); 4852 }, 4853 postformat: function (string) { 4854 return string.replace(/\d/g, function (match) { 4855 return symbolMap[match]; 4856 }).replace(/,/g, 'Ø'); 4857 }, 4858 week : { 4859 dow : 6, // Saturday is the first day of the week. 4860 doy : 12 // The week that contains Jan 12th is the first week of the year. 4861 } 4862 }); 4863 4864 //! moment.js locale configuration 4865 4866 hooks.defineLocale('ar-ma', { 4867 months : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split('_'), 4868 monthsShort : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split('_'), 4869 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥ØªÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4870 weekdaysShort : 'Ø§ØØ¯_اتÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_اربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4871 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4872 weekdaysParseExact : true, 4873 longDateFormat : { 4874 LT : 'HH:mm', 4875 LTS : 'HH:mm:ss', 4876 L : 'DD/MM/YYYY', 4877 LL : 'D MMMM YYYY', 4878 LLL : 'D MMMM YYYY HH:mm', 4879 LLLL : 'dddd D MMMM YYYY HH:mm' 4880 }, 4881 calendar : { 4882 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4883 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4884 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4885 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4886 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4887 sameElse: 'L' 4888 }, 4889 relativeTime : { 4890 future : 'ÙÙ %s', 4891 past : 'Ù ÙØ° %s', 4892 s : 'Ø«ÙØ§Ù', 4893 ss : '%d ثاÙÙØ©', 4894 m : 'دÙÙÙØ©', 4895 mm : '%d Ø¯ÙØ§Ø¦Ù', 4896 h : 'ساعة', 4897 hh : '%d ساعات', 4898 d : 'ÙÙÙ ', 4899 dd : '%d Ø£ÙØ§Ù ', 4900 M : 'Ø´ÙØ±', 4901 MM : '%d Ø£Ø´ÙØ±', 4902 y : 'Ø³ÙØ©', 4903 yy : '%d سÙÙØ§Øª' 4904 }, 4905 week : { 4906 dow : 6, // Saturday is the first day of the week. 4907 doy : 12 // The week that contains Jan 12th is the first week of the year. 4908 } 4909 }); 4910 4911 //! moment.js locale configuration 4912 4913 var symbolMap$1 = { 4914 '1': 'Ù¡', 4915 '2': 'Ù¢', 4916 '3': 'Ù£', 4917 '4': 'Ù¤', 4918 '5': 'Ù¥', 4919 '6': 'Ù¦', 4920 '7': 'Ù§', 4921 '8': 'Ù¨', 4922 '9': 'Ù©', 4923 '0': 'Ù ' 4924 }, numberMap = { 4925 'Ù¡': '1', 4926 'Ù¢': '2', 4927 'Ù£': '3', 4928 'Ù¤': '4', 4929 'Ù¥': '5', 4930 'Ù¦': '6', 4931 'Ù§': '7', 4932 'Ù¨': '8', 4933 'Ù©': '9', 4934 'Ù ': '0' 4935 }; 4936 4937 hooks.defineLocale('ar-sa', { 4938 months : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙÙ_ÙÙÙÙÙ_ÙÙÙÙÙ_أغسطس_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 4939 monthsShort : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙÙ_ÙÙÙÙÙ_ÙÙÙÙÙ_أغسطس_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 4940 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4941 weekdaysShort : 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4942 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4943 weekdaysParseExact : true, 4944 longDateFormat : { 4945 LT : 'HH:mm', 4946 LTS : 'HH:mm:ss', 4947 L : 'DD/MM/YYYY', 4948 LL : 'D MMMM YYYY', 4949 LLL : 'D MMMM YYYY HH:mm', 4950 LLLL : 'dddd D MMMM YYYY HH:mm' 4951 }, 4952 meridiemParse: /ص|Ù /, 4953 isPM : function (input) { 4954 return 'Ù ' === input; 4955 }, 4956 meridiem : function (hour, minute, isLower) { 4957 if (hour < 12) { 4958 return 'ص'; 4959 } else { 4960 return 'Ù '; 4961 } 4962 }, 4963 calendar : { 4964 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4965 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4966 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4967 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4968 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4969 sameElse: 'L' 4970 }, 4971 relativeTime : { 4972 future : 'ÙÙ %s', 4973 past : 'Ù ÙØ° %s', 4974 s : 'Ø«ÙØ§Ù', 4975 ss : '%d ثاÙÙØ©', 4976 m : 'دÙÙÙØ©', 4977 mm : '%d Ø¯ÙØ§Ø¦Ù', 4978 h : 'ساعة', 4979 hh : '%d ساعات', 4980 d : 'ÙÙÙ ', 4981 dd : '%d Ø£ÙØ§Ù ', 4982 M : 'Ø´ÙØ±', 4983 MM : '%d Ø£Ø´ÙØ±', 4984 y : 'Ø³ÙØ©', 4985 yy : '%d سÙÙØ§Øª' 4986 }, 4987 preparse: function (string) { 4988 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { 4989 return numberMap[match]; 4990 }).replace(/Ø/g, ','); 4991 }, 4992 postformat: function (string) { 4993 return string.replace(/\d/g, function (match) { 4994 return symbolMap$1[match]; 4995 }).replace(/,/g, 'Ø'); 4996 }, 4997 week : { 4998 dow : 0, // Sunday is the first day of the week. 4999 doy : 6 // The week that contains Jan 6th is the first week of the year. 5000 } 5001 }); 5002 5003 //! moment.js locale configuration 5004 5005 hooks.defineLocale('ar-tn', { 5006 months: 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 5007 monthsShort: 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 5008 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 5009 weekdaysShort: 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 5010 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 5011 weekdaysParseExact : true, 5012 longDateFormat: { 5013 LT: 'HH:mm', 5014 LTS: 'HH:mm:ss', 5015 L: 'DD/MM/YYYY', 5016 LL: 'D MMMM YYYY', 5017 LLL: 'D MMMM YYYY HH:mm', 5018 LLLL: 'dddd D MMMM YYYY HH:mm' 5019 }, 5020 calendar: { 5021 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5022 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5023 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5024 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5025 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5026 sameElse: 'L' 5027 }, 5028 relativeTime: { 5029 future: 'ÙÙ %s', 5030 past: 'Ù ÙØ° %s', 5031 s: 'Ø«ÙØ§Ù', 5032 ss : '%d ثاÙÙØ©', 5033 m: 'دÙÙÙØ©', 5034 mm: '%d Ø¯ÙØ§Ø¦Ù', 5035 h: 'ساعة', 5036 hh: '%d ساعات', 5037 d: 'ÙÙÙ ', 5038 dd: '%d Ø£ÙØ§Ù ', 5039 M: 'Ø´ÙØ±', 5040 MM: '%d Ø£Ø´ÙØ±', 5041 y: 'Ø³ÙØ©', 5042 yy: '%d سÙÙØ§Øª' 5043 }, 5044 week: { 5045 dow: 1, // Monday is the first day of the week. 5046 doy: 4 // The week that contains Jan 4th is the first week of the year. 5047 } 5048 }); 5049 5050 //! moment.js locale configuration 5051 5052 var symbolMap$2 = { 5053 '1': 'Ù¡', 5054 '2': 'Ù¢', 5055 '3': 'Ù£', 5056 '4': 'Ù¤', 5057 '5': 'Ù¥', 5058 '6': 'Ù¦', 5059 '7': 'Ù§', 5060 '8': 'Ù¨', 5061 '9': 'Ù©', 5062 '0': 'Ù ' 5063 }, numberMap$1 = { 5064 'Ù¡': '1', 5065 'Ù¢': '2', 5066 'Ù£': '3', 5067 'Ù¤': '4', 5068 'Ù¥': '5', 5069 'Ù¦': '6', 5070 'Ù§': '7', 5071 'Ù¨': '8', 5072 'Ù©': '9', 5073 'Ù ': '0' 5074 }, pluralForm$1 = function (n) { 5075 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; 5076 }, plurals$1 = { 5077 s : ['Ø£Ù٠٠٠ثاÙÙØ©', 'ثاÙÙØ© ÙØ§ØØ¯Ø©', ['ثاÙÙØªØ§Ù', 'ثاÙÙØªÙÙ'], '%d Ø«ÙØ§Ù', '%d ثاÙÙØ©', '%d ثاÙÙØ©'], 5078 m : ['Ø£Ù٠٠٠دÙÙÙØ©', 'دÙÙÙØ© ÙØ§ØØ¯Ø©', ['دÙÙÙØªØ§Ù', 'دÙÙÙØªÙÙ'], '%d Ø¯ÙØ§Ø¦Ù', '%d دÙÙÙØ©', '%d دÙÙÙØ©'], 5079 h : ['Ø£Ù٠٠٠ساعة', 'ساعة ÙØ§ØØ¯Ø©', ['ساعتاÙ', 'ساعتÙÙ'], '%d ساعات', '%d ساعة', '%d ساعة'], 5080 d : ['Ø£ÙÙ Ù Ù ÙÙÙ ', 'ÙÙÙ ÙØ§ØØ¯', ['ÙÙ٠اÙ', 'ÙÙÙ ÙÙ'], '%d Ø£ÙØ§Ù ', '%d ÙÙÙ ÙØ§', '%d ÙÙÙ '], 5081 M : ['Ø£ÙÙ Ù Ù Ø´ÙØ±', 'Ø´ÙØ± ÙØ§ØØ¯', ['Ø´ÙØ±Ø§Ù', 'Ø´ÙØ±ÙÙ'], '%d Ø£Ø´ÙØ±', '%d Ø´ÙØ±Ø§', '%d Ø´ÙØ±'], 5082 y : ['Ø£Ù٠٠٠عا٠', 'Ø¹Ø§Ù ÙØ§ØØ¯', ['عا٠اÙ', 'عا٠ÙÙ'], '%d Ø£Ø¹ÙØ§Ù ', '%d Ø¹Ø§Ù ÙØ§', '%d عا٠'] 5083 }, pluralize$1 = function (u) { 5084 return function (number, withoutSuffix, string, isFuture) { 5085 var f = pluralForm$1(number), 5086 str = plurals$1[u][pluralForm$1(number)]; 5087 if (f === 2) { 5088 str = str[withoutSuffix ? 0 : 1]; 5089 } 5090 return str.replace(/%d/i, number); 5091 }; 5092 }, months$2 = [ 5093 'ÙÙØ§Ùر', 5094 'ÙØ¨Ø±Ø§Ùر', 5095 '٠ارس', 5096 'أبرÙÙ', 5097 '٠اÙÙ', 5098 'ÙÙÙÙÙ', 5099 'ÙÙÙÙÙ', 5100 'أغسطس', 5101 'سبت٠بر', 5102 'Ø£ÙØªÙبر', 5103 'ÙÙÙ٠بر', 5104 'Ø¯ÙØ³Ù بر' 5105 ]; 5106 5107 hooks.defineLocale('ar', { 5108 months : months$2, 5109 monthsShort : months$2, 5110 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 5111 weekdaysShort : 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 5112 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 5113 weekdaysParseExact : true, 5114 longDateFormat : { 5115 LT : 'HH:mm', 5116 LTS : 'HH:mm:ss', 5117 L : 'D/\u200FM/\u200FYYYY', 5118 LL : 'D MMMM YYYY', 5119 LLL : 'D MMMM YYYY HH:mm', 5120 LLLL : 'dddd D MMMM YYYY HH:mm' 5121 }, 5122 meridiemParse: /ص|Ù /, 5123 isPM : function (input) { 5124 return 'Ù ' === input; 5125 }, 5126 meridiem : function (hour, minute, isLower) { 5127 if (hour < 12) { 5128 return 'ص'; 5129 } else { 5130 return 'Ù '; 5131 } 5132 }, 5133 calendar : { 5134 sameDay: '[اÙÙÙÙ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5135 nextDay: '[ØºØ¯ÙØ§ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5136 nextWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5137 lastDay: '[أ٠س Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5138 lastWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5139 sameElse: 'L' 5140 }, 5141 relativeTime : { 5142 future : 'بعد %s', 5143 past : 'Ù ÙØ° %s', 5144 s : pluralize$1('s'), 5145 ss : pluralize$1('s'), 5146 m : pluralize$1('m'), 5147 mm : pluralize$1('m'), 5148 h : pluralize$1('h'), 5149 hh : pluralize$1('h'), 5150 d : pluralize$1('d'), 5151 dd : pluralize$1('d'), 5152 M : pluralize$1('M'), 5153 MM : pluralize$1('M'), 5154 y : pluralize$1('y'), 5155 yy : pluralize$1('y') 5156 }, 5157 preparse: function (string) { 5158 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { 5159 return numberMap$1[match]; 5160 }).replace(/Ø/g, ','); 5161 }, 5162 postformat: function (string) { 5163 return string.replace(/\d/g, function (match) { 5164 return symbolMap$2[match]; 5165 }).replace(/,/g, 'Ø'); 5166 }, 5167 week : { 5168 dow : 6, // Saturday is the first day of the week. 5169 doy : 12 // The week that contains Jan 12th is the first week of the year. 5170 } 5171 }); 5172 5173 //! moment.js locale configuration 5174 5175 var suffixes = { 5176 1: '-inci', 5177 5: '-inci', 5178 8: '-inci', 5179 70: '-inci', 5180 80: '-inci', 5181 2: '-nci', 5182 7: '-nci', 5183 20: '-nci', 5184 50: '-nci', 5185 3: '-üncü', 5186 4: '-üncü', 5187 100: '-üncü', 5188 6: '-ncı', 5189 9: '-uncu', 5190 10: '-uncu', 5191 30: '-uncu', 5192 60: '-ıncı', 5193 90: '-ıncı' 5194 }; 5195 5196 hooks.defineLocale('az', { 5197 months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), 5198 monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), 5199 weekdays : 'Bazar_Bazar ertÉsi_ÃÉrÅÉnbÉ axÅamı_ÃÉrÅÉnbÉ_CümÉ axÅamı_CümÉ_ÅÉnbÉ'.split('_'), 5200 weekdaysShort : 'Baz_BzE_ÃAx_ÃÉr_CAx_Cüm_ÅÉn'.split('_'), 5201 weekdaysMin : 'Bz_BE_ÃA_ÃÉ_CA_Cü_ÅÉ'.split('_'), 5202 weekdaysParseExact : true, 5203 longDateFormat : { 5204 LT : 'HH:mm', 5205 LTS : 'HH:mm:ss', 5206 L : 'DD.MM.YYYY', 5207 LL : 'D MMMM YYYY', 5208 LLL : 'D MMMM YYYY HH:mm', 5209 LLLL : 'dddd, D MMMM YYYY HH:mm' 5210 }, 5211 calendar : { 5212 sameDay : '[bugün saat] LT', 5213 nextDay : '[sabah saat] LT', 5214 nextWeek : '[gÉlÉn hÉftÉ] dddd [saat] LT', 5215 lastDay : '[dünÉn] LT', 5216 lastWeek : '[keçÉn hÉftÉ] dddd [saat] LT', 5217 sameElse : 'L' 5218 }, 5219 relativeTime : { 5220 future : '%s sonra', 5221 past : '%s ÉvvÉl', 5222 s : 'birneÃ§É saniyÉ', 5223 ss : '%d saniyÉ', 5224 m : 'bir dÉqiqÉ', 5225 mm : '%d dÉqiqÉ', 5226 h : 'bir saat', 5227 hh : '%d saat', 5228 d : 'bir gün', 5229 dd : '%d gün', 5230 M : 'bir ay', 5231 MM : '%d ay', 5232 y : 'bir il', 5233 yy : '%d il' 5234 }, 5235 meridiemParse: /gecÉ|sÉhÉr|gündüz|axÅam/, 5236 isPM : function (input) { 5237 return /^(gündüz|axÅam)$/.test(input); 5238 }, 5239 meridiem : function (hour, minute, isLower) { 5240 if (hour < 4) { 5241 return 'gecÉ'; 5242 } else if (hour < 12) { 5243 return 'sÉhÉr'; 5244 } else if (hour < 17) { 5245 return 'gündüz'; 5246 } else { 5247 return 'axÅam'; 5248 } 5249 }, 5250 dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, 5251 ordinal : function (number) { 5252 if (number === 0) { // special case for zero 5253 return number + '-ıncı'; 5254 } 5255 var a = number % 10, 5256 b = number % 100 - a, 5257 c = number >= 100 ? 100 : null; 5258 return number + (suffixes[a] || suffixes[b] || suffixes[c]); 5259 }, 5260 week : { 5261 dow : 1, // Monday is the first day of the week. 5262 doy : 7 // The week that contains Jan 7th is the first week of the year. 5263 } 5264 }); 5265 5266 //! moment.js locale configuration 5267 5268 function plural(word, num) { 5269 var forms = word.split('_'); 5270 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]); 5271 } 5272 function relativeTimeWithPlural(number, withoutSuffix, key) { 5273 var format = { 5274 'ss': withoutSuffix ? 'ÑекÑнда_ÑекÑндÑ_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑндÑ_ÑекÑнд', 5275 'mm': withoutSuffix ? 'Ñ Ð²ÑлÑна_Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑн' : 'Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑн', 5276 'hh': withoutSuffix ? 'гадзÑна_гадзÑнÑ_гадзÑн' : 'гадзÑнÑ_гадзÑнÑ_гадзÑн', 5277 'dd': 'дзенÑ_днÑ_дзÑн', 5278 'MM': 'меÑÑÑ_меÑÑÑÑ_меÑÑÑаÑ', 5279 'yy': 'год_гадÑ_гадоÑ' 5280 }; 5281 if (key === 'm') { 5282 return withoutSuffix ? 'Ñ Ð²ÑлÑна' : 'Ñ Ð²ÑлÑнÑ'; 5283 } 5284 else if (key === 'h') { 5285 return withoutSuffix ? 'гадзÑна' : 'гадзÑнÑ'; 5286 } 5287 else { 5288 return number + ' ' + plural(format[key], +number); 5289 } 5290 } 5291 5292 hooks.defineLocale('be', { 5293 months : { 5294 format: 'ÑÑÑдзенÑ_лÑÑага_ÑакавÑка_кÑаÑавÑка_ÑÑаÑнÑ_ÑÑÑвенÑ_лÑпенÑ_жнÑÑнÑ_веÑаÑнÑ_каÑÑÑÑÑнÑка_лÑÑÑапада_ÑнежнÑ'.split('_'), 5295 standalone: 'ÑÑÑдзенÑ_лÑÑÑ_ÑакавÑк_кÑаÑавÑк_ÑÑавенÑ_ÑÑÑвенÑ_лÑпенÑ_жнÑвенÑ_веÑаÑенÑ_каÑÑÑÑÑнÑк_лÑÑÑапад_ÑнежанÑ'.split('_') 5296 }, 5297 monthsShort : 'ÑÑÑд_лÑÑ_Ñак_кÑаÑ_ÑÑав_ÑÑÑв_лÑп_жнÑв_веÑ_каÑÑ_лÑÑÑ_Ñнеж'.split('_'), 5298 weekdays : { 5299 format: 'нÑдзелÑ_панÑдзелак_аÑÑоÑак_ÑеÑадÑ_ÑаÑвеÑ_пÑÑнÑÑÑ_ÑÑбоÑÑ'.split('_'), 5300 standalone: 'нÑдзелÑ_панÑдзелак_аÑÑоÑак_ÑеÑада_ÑаÑвеÑ_пÑÑнÑÑа_ÑÑбоÑа'.split('_'), 5301 isFormat: /\[ ?[УÑÑ] ?(?:мÑнÑлÑÑ|наÑÑÑпнÑÑ)? ?\] ?dddd/ 5302 }, 5303 weekdaysShort : 'нд_пн_аÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 5304 weekdaysMin : 'нд_пн_аÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 5305 longDateFormat : { 5306 LT : 'HH:mm', 5307 LTS : 'HH:mm:ss', 5308 L : 'DD.MM.YYYY', 5309 LL : 'D MMMM YYYY г.', 5310 LLL : 'D MMMM YYYY г., HH:mm', 5311 LLLL : 'dddd, D MMMM YYYY г., HH:mm' 5312 }, 5313 calendar : { 5314 sameDay: '[СÑÐ½Ð½Ñ Ñ] LT', 5315 nextDay: '[ÐаÑÑÑа Ñ] LT', 5316 lastDay: '[УÑоÑа Ñ] LT', 5317 nextWeek: function () { 5318 return '[У] dddd [Ñ] LT'; 5319 }, 5320 lastWeek: function () { 5321 switch (this.day()) { 5322 case 0: 5323 case 3: 5324 case 5: 5325 case 6: 5326 return '[У мÑнÑлÑÑ] dddd [Ñ] LT'; 5327 case 1: 5328 case 2: 5329 case 4: 5330 return '[У мÑнÑлÑ] dddd [Ñ] LT'; 5331 } 5332 }, 5333 sameElse: 'L' 5334 }, 5335 relativeTime : { 5336 future : 'пÑаз %s', 5337 past : '%s ÑамÑ', 5338 s : 'некалÑÐºÑ ÑекÑнд', 5339 m : relativeTimeWithPlural, 5340 mm : relativeTimeWithPlural, 5341 h : relativeTimeWithPlural, 5342 hh : relativeTimeWithPlural, 5343 d : 'дзенÑ', 5344 dd : relativeTimeWithPlural, 5345 M : 'меÑÑÑ', 5346 MM : relativeTimeWithPlural, 5347 y : 'год', 5348 yy : relativeTimeWithPlural 5349 }, 5350 meridiemParse: /ноÑÑ|ÑанÑÑÑ|днÑ|веÑаÑа/, 5351 isPM : function (input) { 5352 return /^(днÑ|веÑаÑа)$/.test(input); 5353 }, 5354 meridiem : function (hour, minute, isLower) { 5355 if (hour < 4) { 5356 return 'ноÑÑ'; 5357 } else if (hour < 12) { 5358 return 'ÑанÑÑÑ'; 5359 } else if (hour < 17) { 5360 return 'днÑ'; 5361 } else { 5362 return 'веÑаÑа'; 5363 } 5364 }, 5365 dayOfMonthOrdinalParse: /\d{1,2}-(Ñ|Ñ|га)/, 5366 ordinal: function (number, period) { 5367 switch (period) { 5368 case 'M': 5369 case 'd': 5370 case 'DDD': 5371 case 'w': 5372 case 'W': 5373 return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ' : number + '-Ñ'; 5374 case 'D': 5375 return number + '-га'; 5376 default: 5377 return number; 5378 } 5379 }, 5380 week : { 5381 dow : 1, // Monday is the first day of the week. 5382 doy : 7 // The week that contains Jan 7th is the first week of the year. 5383 } 5384 }); 5385 5386 //! moment.js locale configuration 5387 5388 hooks.defineLocale('bg', { 5389 months : 'ÑнÑаÑи_ÑевÑÑаÑи_маÑÑ_апÑил_май_Ñни_Ñли_авгÑÑÑ_ÑепÑемвÑи_окÑомвÑи_ноемвÑи_декемвÑи'.split('_'), 5390 monthsShort : 'ÑнÑ_Ñев_маÑ_апÑ_май_Ñни_Ñли_авг_Ñеп_окÑ_ное_дек'.split('_'), 5391 weekdays : 'неделÑ_понеделник_вÑоÑник_ÑÑÑда_ÑеÑвÑÑÑÑк_пеÑÑк_ÑÑбоÑа'.split('_'), 5392 weekdaysShort : 'нед_пон_вÑо_ÑÑÑ_ÑеÑ_пеÑ_ÑÑб'.split('_'), 5393 weekdaysMin : 'нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 5394 longDateFormat : { 5395 LT : 'H:mm', 5396 LTS : 'H:mm:ss', 5397 L : 'D.MM.YYYY', 5398 LL : 'D MMMM YYYY', 5399 LLL : 'D MMMM YYYY H:mm', 5400 LLLL : 'dddd, D MMMM YYYY H:mm' 5401 }, 5402 calendar : { 5403 sameDay : '[ÐÐ½ÐµÑ Ð²] LT', 5404 nextDay : '[УÑÑе в] LT', 5405 nextWeek : 'dddd [в] LT', 5406 lastDay : '[ÐÑеÑа в] LT', 5407 lastWeek : function () { 5408 switch (this.day()) { 5409 case 0: 5410 case 3: 5411 case 6: 5412 return '[РизминалаÑа] dddd [в] LT'; 5413 case 1: 5414 case 2: 5415 case 4: 5416 case 5: 5417 return '[РизминалиÑ] dddd [в] LT'; 5418 } 5419 }, 5420 sameElse : 'L' 5421 }, 5422 relativeTime : { 5423 future : 'Ñлед %s', 5424 past : 'пÑеди %s', 5425 s : 'нÑколко ÑекÑнди', 5426 ss : '%d ÑекÑнди', 5427 m : 'минÑÑа', 5428 mm : '%d минÑÑи', 5429 h : 'ÑаÑ', 5430 hh : '%d ÑаÑа', 5431 d : 'ден', 5432 dd : '%d дни', 5433 M : 'меÑеÑ', 5434 MM : '%d меÑеÑа', 5435 y : 'година', 5436 yy : '%d години' 5437 }, 5438 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|Ñи|ви|Ñи|ми)/, 5439 ordinal : function (number) { 5440 var lastDigit = number % 10, 5441 last2Digits = number % 100; 5442 if (number === 0) { 5443 return number + '-ев'; 5444 } else if (last2Digits === 0) { 5445 return number + '-ен'; 5446 } else if (last2Digits > 10 && last2Digits < 20) { 5447 return number + '-Ñи'; 5448 } else if (lastDigit === 1) { 5449 return number + '-ви'; 5450 } else if (lastDigit === 2) { 5451 return number + '-Ñи'; 5452 } else if (lastDigit === 7 || lastDigit === 8) { 5453 return number + '-ми'; 5454 } else { 5455 return number + '-Ñи'; 5456 } 5457 }, 5458 week : { 5459 dow : 1, // Monday is the first day of the week. 5460 doy : 7 // The week that contains Jan 7th is the first week of the year. 5461 } 5462 }); 5463 5464 //! moment.js locale configuration 5465 5466 hooks.defineLocale('bm', { 5467 months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_MÉkalo_ZuwÉnkalo_Zuluyekalo_Utikalo_SÉtanburukalo_ÉkutÉburukalo_Nowanburukalo_Desanburukalo'.split('_'), 5468 monthsShort : 'Zan_Few_Mar_Awi_MÉ_Zuw_Zul_Uti_SÉt_Éku_Now_Des'.split('_'), 5469 weekdays : 'Kari_NtÉnÉn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), 5470 weekdaysShort : 'Kar_NtÉ_Tar_Ara_Ala_Jum_Sib'.split('_'), 5471 weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), 5472 longDateFormat : { 5473 LT : 'HH:mm', 5474 LTS : 'HH:mm:ss', 5475 L : 'DD/MM/YYYY', 5476 LL : 'MMMM [tile] D [san] YYYY', 5477 LLL : 'MMMM [tile] D [san] YYYY [lÉrÉ] HH:mm', 5478 LLLL : 'dddd MMMM [tile] D [san] YYYY [lÉrÉ] HH:mm' 5479 }, 5480 calendar : { 5481 sameDay : '[Bi lÉrÉ] LT', 5482 nextDay : '[Sini lÉrÉ] LT', 5483 nextWeek : 'dddd [don lÉrÉ] LT', 5484 lastDay : '[Kunu lÉrÉ] LT', 5485 lastWeek : 'dddd [tÉmÉnen lÉrÉ] LT', 5486 sameElse : 'L' 5487 }, 5488 relativeTime : { 5489 future : '%s kÉnÉ', 5490 past : 'a bÉ %s bÉ', 5491 s : 'sanga dama dama', 5492 ss : 'sekondi %d', 5493 m : 'miniti kelen', 5494 mm : 'miniti %d', 5495 h : 'lÉrÉ kelen', 5496 hh : 'lÉrÉ %d', 5497 d : 'tile kelen', 5498 dd : 'tile %d', 5499 M : 'kalo kelen', 5500 MM : 'kalo %d', 5501 y : 'san kelen', 5502 yy : 'san %d' 5503 }, 5504 week : { 5505 dow : 1, // Monday is the first day of the week. 5506 doy : 4 // The week that contains Jan 4th is the first week of the year. 5507 } 5508 }); 5509 5510 //! moment.js locale configuration 5511 5512 var symbolMap$3 = { 5513 '1': 'à§§', 5514 '2': '২', 5515 '3': 'à§©', 5516 '4': '৪', 5517 '5': 'à§«', 5518 '6': '৬', 5519 '7': 'à§', 5520 '8': 'à§®', 5521 '9': '৯', 5522 '0': '০' 5523 }, 5524 numberMap$2 = { 5525 'à§§': '1', 5526 '২': '2', 5527 'à§©': '3', 5528 '৪': '4', 5529 'à§«': '5', 5530 '৬': '6', 5531 'à§': '7', 5532 'à§®': '8', 5533 '৯': '9', 5534 '০': '0' 5535 }; 5536 5537 hooks.defineLocale('bn', { 5538 months : 'à¦à¦¾à¦¨à§à§à¦¾à¦°à§_ফà§à¦¬à§à¦°à§à§à¦¾à¦°à¦¿_মারà§à¦_à¦à¦ªà§à¦°à¦¿à¦²_মà§_à¦à§à¦¨_à¦à§à¦²à¦¾à¦_à¦à¦à¦¸à§à¦_সà§à¦ªà§à¦à§à¦®à§à¦¬à¦°_ঠà¦à§à¦à§à¦¬à¦°_নà¦à§à¦®à§à¦¬à¦°_ডিসà§à¦®à§à¦¬à¦°'.split('_'), 5539 monthsShort : 'à¦à¦¾à¦¨à§_ফà§à¦¬_মারà§à¦_à¦à¦ªà§à¦°_মà§_à¦à§à¦¨_à¦à§à¦²_à¦à¦_সà§à¦ªà§à¦_ঠà¦à§à¦à§_নà¦à§_ডিসà§'.split('_'), 5540 weekdays : 'রবিবার_সà§à¦®à¦¬à¦¾à¦°_মà¦à§à¦à¦²à¦¬à¦¾à¦°_বà§à¦§à¦¬à¦¾à¦°_বà§à¦¹à¦¸à§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°_শà§à¦à§à¦°à¦¬à¦¾à¦°_শনিবার'.split('_'), 5541 weekdaysShort : 'রবি_সà§à¦®_মà¦à§à¦à¦²_বà§à¦§_বà§à¦¹à¦¸à§à¦ªà¦¤à¦¿_শà§à¦à§à¦°_শনি'.split('_'), 5542 weekdaysMin : 'রবি_সà§à¦®_মà¦à§à¦_বà§à¦§_বà§à¦¹à¦_শà§à¦à§à¦°_শনি'.split('_'), 5543 longDateFormat : { 5544 LT : 'A h:mm সমà§', 5545 LTS : 'A h:mm:ss সমà§', 5546 L : 'DD/MM/YYYY', 5547 LL : 'D MMMM YYYY', 5548 LLL : 'D MMMM YYYY, A h:mm সমà§', 5549 LLLL : 'dddd, D MMMM YYYY, A h:mm সমà§' 5550 }, 5551 calendar : { 5552 sameDay : '[à¦à¦] LT', 5553 nextDay : '[à¦à¦à¦¾à¦®à§à¦à¦¾à¦²] LT', 5554 nextWeek : 'dddd, LT', 5555 lastDay : '[à¦à¦¤à¦à¦¾à¦²] LT', 5556 lastWeek : '[à¦à¦¤] dddd, LT', 5557 sameElse : 'L' 5558 }, 5559 relativeTime : { 5560 future : '%s পরà§', 5561 past : '%s à¦à¦à§', 5562 s : 'à¦à§à§à¦ সà§à¦à§à¦¨à§à¦¡', 5563 ss : '%d সà§à¦à§à¦¨à§à¦¡', 5564 m : 'à¦à¦ মিনিà¦', 5565 mm : '%d মিনিà¦', 5566 h : 'à¦à¦ à¦à¦¨à§à¦à¦¾', 5567 hh : '%d à¦à¦¨à§à¦à¦¾', 5568 d : 'à¦à¦ দিন', 5569 dd : '%d দিন', 5570 M : 'à¦à¦ মাস', 5571 MM : '%d মাস', 5572 y : 'à¦à¦ বà¦à¦°', 5573 yy : '%d বà¦à¦°' 5574 }, 5575 preparse: function (string) { 5576 return string.replace(/[১২৩৪৫৬à§à§®à§¯à§¦]/g, function (match) { 5577 return numberMap$2[match]; 5578 }); 5579 }, 5580 postformat: function (string) { 5581 return string.replace(/\d/g, function (match) { 5582 return symbolMap$3[match]; 5583 }); 5584 }, 5585 meridiemParse: /রাত|সà¦à¦¾à¦²|দà§à¦ªà§à¦°|বিà¦à¦¾à¦²|রাত/, 5586 meridiemHour : function (hour, meridiem) { 5587 if (hour === 12) { 5588 hour = 0; 5589 } 5590 if ((meridiem === 'রাত' && hour >= 4) || 5591 (meridiem === 'দà§à¦ªà§à¦°' && hour < 5) || 5592 meridiem === 'বিà¦à¦¾à¦²') { 5593 return hour + 12; 5594 } else { 5595 return hour; 5596 } 5597 }, 5598 meridiem : function (hour, minute, isLower) { 5599 if (hour < 4) { 5600 return 'রাত'; 5601 } else if (hour < 10) { 5602 return 'সà¦à¦¾à¦²'; 5603 } else if (hour < 17) { 5604 return 'দà§à¦ªà§à¦°'; 5605 } else if (hour < 20) { 5606 return 'বিà¦à¦¾à¦²'; 5607 } else { 5608 return 'রাত'; 5609 } 5610 }, 5611 week : { 5612 dow : 0, // Sunday is the first day of the week. 5613 doy : 6 // The week that contains Jan 6th is the first week of the year. 5614 } 5615 }); 5616 5617 //! moment.js locale configuration 5618 5619 var symbolMap$4 = { 5620 '1': '༡', 5621 '2': '༢', 5622 '3': '༣', 5623 '4': '༤', 5624 '5': '༥', 5625 '6': '༦', 5626 '7': '༧', 5627 '8': '༨', 5628 '9': '༩', 5629 '0': '༠' 5630 }, 5631 numberMap$3 = { 5632 '༡': '1', 5633 '༢': '2', 5634 '༣': '3', 5635 '༤': '4', 5636 '༥': '5', 5637 '༦': '6', 5638 '༧': '7', 5639 '༨': '8', 5640 '༩': '9', 5641 '༠': '0' 5642 }; 5643 5644 hooks.defineLocale('bo', { 5645 months : 'à½à¾³à¼à½à¼à½à½à¼à½à½¼_à½à¾³à¼à½à¼à½à½à½²à½¦à¼à½_à½à¾³à¼à½à¼à½à½¦à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½²à¼à½_à½à¾³à¼à½à¼à½£à¾à¼à½_à½à¾³à¼à½à¼à½à¾²à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à½à¼à½_à½à¾³à¼à½à¼à½à½¢à¾à¾±à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½ ིà½à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½à½²à½¦à¼à½'.split('_'), 5646 monthsShort : 'à½à¾³à¼à½à¼à½à½à¼à½à½¼_à½à¾³à¼à½à¼à½à½à½²à½¦à¼à½_à½à¾³à¼à½à¼à½à½¦à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½²à¼à½_à½à¾³à¼à½à¼à½£à¾à¼à½_à½à¾³à¼à½à¼à½à¾²à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à½à¼à½_à½à¾³à¼à½à¼à½à½¢à¾à¾±à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½ ིà½à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½à½²à½¦à¼à½'.split('_'), 5647 weekdays : 'à½à½à½ à¼à½à½²à¼à½à¼_à½à½à½ à¼à½à¾³à¼à½à¼_à½à½à½ à¼à½à½²à½à¼à½à½à½¢à¼_à½à½à½ à¼à½£à¾·à½à¼à½à¼_à½à½à½ à¼à½à½´à½¢à¼à½à½´_à½à½à½ à¼à½à¼à½¦à½à½¦à¼_à½à½à½ à¼à½¦à¾¤à½ºà½à¼à½à¼'.split('_'), 5648 weekdaysShort : 'à½à½²à¼à½à¼_à½à¾³à¼à½à¼_à½à½²à½à¼à½à½à½¢à¼_ལྷà½à¼à½à¼_à½à½´à½¢à¼à½à½´_à½à¼à½¦à½à½¦à¼_སྤེà½à¼à½à¼'.split('_'), 5649 weekdaysMin : 'à½à½²à¼à½à¼_à½à¾³à¼à½à¼_à½à½²à½à¼à½à½à½¢à¼_ལྷà½à¼à½à¼_à½à½´à½¢à¼à½à½´_à½à¼à½¦à½à½¦à¼_སྤེà½à¼à½à¼'.split('_'), 5650 longDateFormat : { 5651 LT : 'A h:mm', 5652 LTS : 'A h:mm:ss', 5653 L : 'DD/MM/YYYY', 5654 LL : 'D MMMM YYYY', 5655 LLL : 'D MMMM YYYY, A h:mm', 5656 LLLL : 'dddd, D MMMM YYYY, A h:mm' 5657 }, 5658 calendar : { 5659 sameDay : '[à½à½²à¼à½¢à½²à½] LT', 5660 nextDay : '[སà½à¼à½à½²à½] LT', 5661 nextWeek : '[à½à½à½´à½à¼à½à¾²à½à¼à½¢à¾à½ºà½¦à¼à½], LT', 5662 lastDay : '[à½à¼à½¦à½] LT', 5663 lastWeek : '[à½à½à½´à½à¼à½à¾²à½à¼à½à½à½ à¼à½] dddd, LT', 5664 sameElse : 'L' 5665 }, 5666 relativeTime : { 5667 future : '%s ལà¼', 5668 past : '%s སà¾à½à¼à½£', 5669 s : 'ལà½à¼à½¦à½', 5670 ss : '%d སà¾à½¢à¼à½à¼', 5671 m : 'སà¾à½¢à¼à½à¼à½à½ ིà½', 5672 mm : '%d སà¾à½¢à¼à½', 5673 h : 'à½à½´à¼à½à½¼à½à¼à½à½ ིà½', 5674 hh : '%d à½à½´à¼à½à½¼à½', 5675 d : 'à½à½²à½à¼à½à½ ིà½', 5676 dd : '%d à½à½²à½à¼', 5677 M : 'à½à¾³à¼à½à¼à½à½ ིà½', 5678 MM : '%d à½à¾³à¼à½', 5679 y : 'ལོà¼à½à½ ིà½', 5680 yy : '%d ལོ' 5681 }, 5682 preparse: function (string) { 5683 return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { 5684 return numberMap$3[match]; 5685 }); 5686 }, 5687 postformat: function (string) { 5688 return string.replace(/\d/g, function (match) { 5689 return symbolMap$4[match]; 5690 }); 5691 }, 5692 meridiemParse: /à½à½à½à¼à½à½¼|à½à½¼à½à½¦à¼à½à½¦|à½à½²à½à¼à½à½´à½|à½à½à½¼à½à¼à½à½|à½à½à½à¼à½à½¼/, 5693 meridiemHour : function (hour, meridiem) { 5694 if (hour === 12) { 5695 hour = 0; 5696 } 5697 if ((meridiem === 'à½à½à½à¼à½à½¼' && hour >= 4) || 5698 (meridiem === 'à½à½²à½à¼à½à½´à½' && hour < 5) || 5699 meridiem === 'à½à½à½¼à½à¼à½à½') { 5700 return hour + 12; 5701 } else { 5702 return hour; 5703 } 5704 }, 5705 meridiem : function (hour, minute, isLower) { 5706 if (hour < 4) { 5707 return 'à½à½à½à¼à½à½¼'; 5708 } else if (hour < 10) { 5709 return 'à½à½¼à½à½¦à¼à½à½¦'; 5710 } else if (hour < 17) { 5711 return 'à½à½²à½à¼à½à½´à½'; 5712 } else if (hour < 20) { 5713 return 'à½à½à½¼à½à¼à½à½'; 5714 } else { 5715 return 'à½à½à½à¼à½à½¼'; 5716 } 5717 }, 5718 week : { 5719 dow : 0, // Sunday is the first day of the week. 5720 doy : 6 // The week that contains Jan 6th is the first week of the year. 5721 } 5722 }); 5723 5724 //! moment.js locale configuration 5725 5726 function relativeTimeWithMutation(number, withoutSuffix, key) { 5727 var format = { 5728 'mm': 'munutenn', 5729 'MM': 'miz', 5730 'dd': 'devezh' 5731 }; 5732 return number + ' ' + mutation(format[key], number); 5733 } 5734 function specialMutationForYears(number) { 5735 switch (lastNumber(number)) { 5736 case 1: 5737 case 3: 5738 case 4: 5739 case 5: 5740 case 9: 5741 return number + ' bloaz'; 5742 default: 5743 return number + ' vloaz'; 5744 } 5745 } 5746 function lastNumber(number) { 5747 if (number > 9) { 5748 return lastNumber(number % 10); 5749 } 5750 return number; 5751 } 5752 function mutation(text, number) { 5753 if (number === 2) { 5754 return softMutation(text); 5755 } 5756 return text; 5757 } 5758 function softMutation(text) { 5759 var mutationTable = { 5760 'm': 'v', 5761 'b': 'v', 5762 'd': 'z' 5763 }; 5764 if (mutationTable[text.charAt(0)] === undefined) { 5765 return text; 5766 } 5767 return mutationTable[text.charAt(0)] + text.substring(1); 5768 } 5769 5770 hooks.defineLocale('br', { 5771 months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), 5772 monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), 5773 weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'), 5774 weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), 5775 weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), 5776 weekdaysParseExact : true, 5777 longDateFormat : { 5778 LT : 'h[e]mm A', 5779 LTS : 'h[e]mm:ss A', 5780 L : 'DD/MM/YYYY', 5781 LL : 'D [a viz] MMMM YYYY', 5782 LLL : 'D [a viz] MMMM YYYY h[e]mm A', 5783 LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A' 5784 }, 5785 calendar : { 5786 sameDay : '[Hiziv da] LT', 5787 nextDay : '[Warc\'hoazh da] LT', 5788 nextWeek : 'dddd [da] LT', 5789 lastDay : '[Dec\'h da] LT', 5790 lastWeek : 'dddd [paset da] LT', 5791 sameElse : 'L' 5792 }, 5793 relativeTime : { 5794 future : 'a-benn %s', 5795 past : '%s \'zo', 5796 s : 'un nebeud segondennoù', 5797 ss : '%d eilenn', 5798 m : 'ur vunutenn', 5799 mm : relativeTimeWithMutation, 5800 h : 'un eur', 5801 hh : '%d eur', 5802 d : 'un devezh', 5803 dd : relativeTimeWithMutation, 5804 M : 'ur miz', 5805 MM : relativeTimeWithMutation, 5806 y : 'ur bloaz', 5807 yy : specialMutationForYears 5808 }, 5809 dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, 5810 ordinal : function (number) { 5811 var output = (number === 1) ? 'añ' : 'vet'; 5812 return number + output; 5813 }, 5814 week : { 5815 dow : 1, // Monday is the first day of the week. 5816 doy : 4 // The week that contains Jan 4th is the first week of the year. 5817 } 5818 }); 5819 5820 //! moment.js locale configuration 5821 5822 function translate(number, withoutSuffix, key) { 5823 var result = number + ' '; 5824 switch (key) { 5825 case 'ss': 5826 if (number === 1) { 5827 result += 'sekunda'; 5828 } else if (number === 2 || number === 3 || number === 4) { 5829 result += 'sekunde'; 5830 } else { 5831 result += 'sekundi'; 5832 } 5833 return result; 5834 case 'm': 5835 return withoutSuffix ? 'jedna minuta' : 'jedne minute'; 5836 case 'mm': 5837 if (number === 1) { 5838 result += 'minuta'; 5839 } else if (number === 2 || number === 3 || number === 4) { 5840 result += 'minute'; 5841 } else { 5842 result += 'minuta'; 5843 } 5844 return result; 5845 case 'h': 5846 return withoutSuffix ? 'jedan sat' : 'jednog sata'; 5847 case 'hh': 5848 if (number === 1) { 5849 result += 'sat'; 5850 } else if (number === 2 || number === 3 || number === 4) { 5851 result += 'sata'; 5852 } else { 5853 result += 'sati'; 5854 } 5855 return result; 5856 case 'dd': 5857 if (number === 1) { 5858 result += 'dan'; 5859 } else { 5860 result += 'dana'; 5861 } 5862 return result; 5863 case 'MM': 5864 if (number === 1) { 5865 result += 'mjesec'; 5866 } else if (number === 2 || number === 3 || number === 4) { 5867 result += 'mjeseca'; 5868 } else { 5869 result += 'mjeseci'; 5870 } 5871 return result; 5872 case 'yy': 5873 if (number === 1) { 5874 result += 'godina'; 5875 } else if (number === 2 || number === 3 || number === 4) { 5876 result += 'godine'; 5877 } else { 5878 result += 'godina'; 5879 } 5880 return result; 5881 } 5882 } 5883 5884 hooks.defineLocale('bs', { 5885 months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), 5886 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), 5887 monthsParseExact: true, 5888 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), 5889 weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), 5890 weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), 5891 weekdaysParseExact : true, 5892 longDateFormat : { 5893 LT : 'H:mm', 5894 LTS : 'H:mm:ss', 5895 L : 'DD.MM.YYYY', 5896 LL : 'D. MMMM YYYY', 5897 LLL : 'D. MMMM YYYY H:mm', 5898 LLLL : 'dddd, D. MMMM YYYY H:mm' 5899 }, 5900 calendar : { 5901 sameDay : '[danas u] LT', 5902 nextDay : '[sutra u] LT', 5903 nextWeek : function () { 5904 switch (this.day()) { 5905 case 0: 5906 return '[u] [nedjelju] [u] LT'; 5907 case 3: 5908 return '[u] [srijedu] [u] LT'; 5909 case 6: 5910 return '[u] [subotu] [u] LT'; 5911 case 1: 5912 case 2: 5913 case 4: 5914 case 5: 5915 return '[u] dddd [u] LT'; 5916 } 5917 }, 5918 lastDay : '[juÄer u] LT', 5919 lastWeek : function () { 5920 switch (this.day()) { 5921 case 0: 5922 case 3: 5923 return '[proÅ¡lu] dddd [u] LT'; 5924 case 6: 5925 return '[proÅ¡le] [subote] [u] LT'; 5926 case 1: 5927 case 2: 5928 case 4: 5929 case 5: 5930 return '[proÅ¡li] dddd [u] LT'; 5931 } 5932 }, 5933 sameElse : 'L' 5934 }, 5935 relativeTime : { 5936 future : 'za %s', 5937 past : 'prije %s', 5938 s : 'par sekundi', 5939 ss : translate, 5940 m : translate, 5941 mm : translate, 5942 h : translate, 5943 hh : translate, 5944 d : 'dan', 5945 dd : translate, 5946 M : 'mjesec', 5947 MM : translate, 5948 y : 'godinu', 5949 yy : translate 5950 }, 5951 dayOfMonthOrdinalParse: /\d{1,2}\./, 5952 ordinal : '%d.', 5953 week : { 5954 dow : 1, // Monday is the first day of the week. 5955 doy : 7 // The week that contains Jan 7th is the first week of the year. 5956 } 5957 }); 5958 5959 //! moment.js locale configuration 5960 5961 hooks.defineLocale('ca', { 5962 months : { 5963 standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'), 5964 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('_'), 5965 isFormat: /D[oD]?(\s)+MMMM/ 5966 }, 5967 monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'), 5968 monthsParseExact : true, 5969 weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'), 5970 weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), 5971 weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'), 5972 weekdaysParseExact : true, 5973 longDateFormat : { 5974 LT : 'H:mm', 5975 LTS : 'H:mm:ss', 5976 L : 'DD/MM/YYYY', 5977 LL : 'D MMMM [de] YYYY', 5978 ll : 'D MMM YYYY', 5979 LLL : 'D MMMM [de] YYYY [a les] H:mm', 5980 lll : 'D MMM YYYY, H:mm', 5981 LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm', 5982 llll : 'ddd D MMM YYYY, H:mm' 5983 }, 5984 calendar : { 5985 sameDay : function () { 5986 return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 5987 }, 5988 nextDay : function () { 5989 return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 5990 }, 5991 nextWeek : function () { 5992 return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 5993 }, 5994 lastDay : function () { 5995 return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 5996 }, 5997 lastWeek : function () { 5998 return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 5999 }, 6000 sameElse : 'L' 6001 }, 6002 relativeTime : { 6003 future : 'd\'aquà %s', 6004 past : 'fa %s', 6005 s : 'uns segons', 6006 ss : '%d segons', 6007 m : 'un minut', 6008 mm : '%d minuts', 6009 h : 'una hora', 6010 hh : '%d hores', 6011 d : 'un dia', 6012 dd : '%d dies', 6013 M : 'un mes', 6014 MM : '%d mesos', 6015 y : 'un any', 6016 yy : '%d anys' 6017 }, 6018 dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, 6019 ordinal : function (number, period) { 6020 var output = (number === 1) ? 'r' : 6021 (number === 2) ? 'n' : 6022 (number === 3) ? 'r' : 6023 (number === 4) ? 't' : 'è'; 6024 if (period === 'w' || period === 'W') { 6025 output = 'a'; 6026 } 6027 return number + output; 6028 }, 6029 week : { 6030 dow : 1, // Monday is the first day of the week. 6031 doy : 4 // The week that contains Jan 4th is the first week of the year. 6032 } 6033 }); 6034 6035 //! moment.js locale configuration 6036 6037 var months$3 = 'leden_únor_bÅezen_duben_kvÄten_Äerven_Äervenec_srpen_záÅÃ_ÅÃjen_listopad_prosinec'.split('_'), 6038 monthsShort = 'led_úno_bÅe_dub_kvÄ_Ävn_Ävc_srp_záÅ_ÅÃj_lis_pro'.split('_'); 6039 6040 var 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]; 6041 // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. 6042 // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. 6043 var monthsRegex$1 = /^(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; 6044 6045 function plural$1(n) { 6046 return (n > 1) && (n < 5) && (~~(n / 10) !== 1); 6047 } 6048 function translate$1(number, withoutSuffix, key, isFuture) { 6049 var result = number + ' '; 6050 switch (key) { 6051 case 's': // a few seconds / in a few seconds / a few seconds ago 6052 return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami'; 6053 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago 6054 if (withoutSuffix || isFuture) { 6055 return result + (plural$1(number) ? 'sekundy' : 'sekund'); 6056 } else { 6057 return result + 'sekundami'; 6058 } 6059 break; 6060 case 'm': // a minute / in a minute / a minute ago 6061 return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou'); 6062 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago 6063 if (withoutSuffix || isFuture) { 6064 return result + (plural$1(number) ? 'minuty' : 'minut'); 6065 } else { 6066 return result + 'minutami'; 6067 } 6068 break; 6069 case 'h': // an hour / in an hour / an hour ago 6070 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); 6071 case 'hh': // 9 hours / in 9 hours / 9 hours ago 6072 if (withoutSuffix || isFuture) { 6073 return result + (plural$1(number) ? 'hodiny' : 'hodin'); 6074 } else { 6075 return result + 'hodinami'; 6076 } 6077 break; 6078 case 'd': // a day / in a day / a day ago 6079 return (withoutSuffix || isFuture) ? 'den' : 'dnem'; 6080 case 'dd': // 9 days / in 9 days / 9 days ago 6081 if (withoutSuffix || isFuture) { 6082 return result + (plural$1(number) ? 'dny' : 'dnÃ'); 6083 } else { 6084 return result + 'dny'; 6085 } 6086 break; 6087 case 'M': // a month / in a month / a month ago 6088 return (withoutSuffix || isFuture) ? 'mÄsÃc' : 'mÄsÃcem'; 6089 case 'MM': // 9 months / in 9 months / 9 months ago 6090 if (withoutSuffix || isFuture) { 6091 return result + (plural$1(number) ? 'mÄsÃce' : 'mÄsÃců'); 6092 } else { 6093 return result + 'mÄsÃci'; 6094 } 6095 break; 6096 case 'y': // a year / in a year / a year ago 6097 return (withoutSuffix || isFuture) ? 'rok' : 'rokem'; 6098 case 'yy': // 9 years / in 9 years / 9 years ago 6099 if (withoutSuffix || isFuture) { 6100 return result + (plural$1(number) ? 'roky' : 'let'); 6101 } else { 6102 return result + 'lety'; 6103 } 6104 break; 6105 } 6106 } 6107 6108 hooks.defineLocale('cs', { 6109 months : months$3, 6110 monthsShort : monthsShort, 6111 monthsRegex : monthsRegex$1, 6112 monthsShortRegex : monthsRegex$1, 6113 // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. 6114 // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. 6115 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, 6116 monthsShortStrictRegex : /^(led|úno|bÅe|dub|kvÄ|Ävn|Ävc|srp|záÅ|ÅÃj|lis|pro)/i, 6117 monthsParse : monthsParse, 6118 longMonthsParse : monthsParse, 6119 shortMonthsParse : monthsParse, 6120 weekdays : 'nedÄle_pondÄlÃ_úterý_stÅeda_Ätvrtek_pátek_sobota'.split('_'), 6121 weekdaysShort : 'ne_po_út_st_Ät_pá_so'.split('_'), 6122 weekdaysMin : 'ne_po_út_st_Ät_pá_so'.split('_'), 6123 longDateFormat : { 6124 LT: 'H:mm', 6125 LTS : 'H:mm:ss', 6126 L : 'DD.MM.YYYY', 6127 LL : 'D. MMMM YYYY', 6128 LLL : 'D. MMMM YYYY H:mm', 6129 LLLL : 'dddd D. MMMM YYYY H:mm', 6130 l : 'D. M. YYYY' 6131 }, 6132 calendar : { 6133 sameDay: '[dnes v] LT', 6134 nextDay: '[zÃtra v] LT', 6135 nextWeek: function () { 6136 switch (this.day()) { 6137 case 0: 6138 return '[v nedÄli v] LT'; 6139 case 1: 6140 case 2: 6141 return '[v] dddd [v] LT'; 6142 case 3: 6143 return '[ve stÅedu v] LT'; 6144 case 4: 6145 return '[ve Ätvrtek v] LT'; 6146 case 5: 6147 return '[v pátek v] LT'; 6148 case 6: 6149 return '[v sobotu v] LT'; 6150 } 6151 }, 6152 lastDay: '[vÄera v] LT', 6153 lastWeek: function () { 6154 switch (this.day()) { 6155 case 0: 6156 return '[minulou nedÄli v] LT'; 6157 case 1: 6158 case 2: 6159 return '[minulé] dddd [v] LT'; 6160 case 3: 6161 return '[minulou stÅedu v] LT'; 6162 case 4: 6163 case 5: 6164 return '[minulý] dddd [v] LT'; 6165 case 6: 6166 return '[minulou sobotu v] LT'; 6167 } 6168 }, 6169 sameElse: 'L' 6170 }, 6171 relativeTime : { 6172 future : 'za %s', 6173 past : 'pÅed %s', 6174 s : translate$1, 6175 ss : translate$1, 6176 m : translate$1, 6177 mm : translate$1, 6178 h : translate$1, 6179 hh : translate$1, 6180 d : translate$1, 6181 dd : translate$1, 6182 M : translate$1, 6183 MM : translate$1, 6184 y : translate$1, 6185 yy : translate$1 6186 }, 6187 dayOfMonthOrdinalParse : /\d{1,2}\./, 6188 ordinal : '%d.', 6189 week : { 6190 dow : 1, // Monday is the first day of the week. 6191 doy : 4 // The week that contains Jan 4th is the first week of the year. 6192 } 6193 }); 6194 6195 //! moment.js locale configuration 6196 6197 hooks.defineLocale('cv', { 6198 months : 'кÓÑлаÑ_наÑÓÑ_пÑÑ_ака_май_Ò«ÓÑÑме_ÑÑÓ_Ò«ÑÑла_авÓн_Ñпа_Ñӳк_ÑаÑÑав'.split('_'), 6199 monthsShort : 'кÓÑ_наÑ_пÑÑ_ака_май_Ò«ÓÑ_ÑÑÓ_Ò«ÑÑ_авн_Ñпа_Ñӳк_ÑаÑ'.split('_'), 6200 weekdays : 'вÑÑÑаÑникÑн_ÑÑнÑикÑн_ÑÑлаÑикÑн_ÑнкÑн_кÓҫнеÑникÑн_ÑÑнекÑн_ÑÓмаÑкÑн'.split('_'), 6201 weekdaysShort : 'вÑÑ_ÑÑн_ÑÑл_Ñн_кÓÒ«_ÑÑн_ÑÓм'.split('_'), 6202 weekdaysMin : 'вÑ_Ñн_ÑÑ_Ñн_кҫ_ÑÑ_Ñм'.split('_'), 6203 longDateFormat : { 6204 LT : 'HH:mm', 6205 LTS : 'HH:mm:ss', 6206 L : 'DD-MM-YYYY', 6207 LL : 'YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ]', 6208 LLL : 'YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ], HH:mm', 6209 LLLL : 'dddd, YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ], HH:mm' 6210 }, 6211 calendar : { 6212 sameDay: '[ÐаÑн] LT [ÑÐµÑ ÐµÑÑе]', 6213 nextDay: '[ЫÑан] LT [ÑÐµÑ ÐµÑÑе]', 6214 lastDay: '[ÓнеÑ] LT [ÑÐµÑ ÐµÑÑе]', 6215 nextWeek: '[ҪиÑеÑ] dddd LT [ÑÐµÑ ÐµÑÑе]', 6216 lastWeek: '[ÐÑÑнÓ] dddd LT [ÑÐµÑ ÐµÑÑе]', 6217 sameElse: 'L' 6218 }, 6219 relativeTime : { 6220 future : function (output) {
vendor: 2,677 bytes, lines 6221-6293
6221 var affix = /ÑÐµÑ ÐµÑ$/i.exec(output) ? 'Ñен' : /Ò«Ñл$/i.exec(output) ? 'Ñан' : 'Ñан'; 6222 return output + affix; 6223 }, 6224 past : '%s каÑлла', 6225 s : 'пÓÑ-ик ҫеккÑнÑ', 6226 ss : '%d ҫеккÑнÑ', 6227 m : 'пÓÑ Ð¼Ð¸Ð½ÑÑ', 6228 mm : '%d минÑÑ', 6229 h : 'пÓÑ ÑÐµÑ ÐµÑ', 6230 hh : '%d ÑÐµÑ ÐµÑ', 6231 d : 'пÓÑ ÐºÑн', 6232 dd : '%d кÑн', 6233 M : 'пÓÑ ÑйÓÑ ', 6234 MM : '%d ÑйÓÑ ', 6235 y : 'пÓÑ Ò«Ñл', 6236 yy : '%d Ò«Ñл' 6237 }, 6238 dayOfMonthOrdinalParse: /\d{1,2}-мÓÑ/, 6239 ordinal : '%d-мÓÑ', 6240 week : { 6241 dow : 1, // Monday is the first day of the week. 6242 doy : 7 // The week that contains Jan 7th is the first week of the year. 6243 } 6244 }); 6245 6246 //! moment.js locale configuration 6247 6248 hooks.defineLocale('cy', { 6249 months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), 6250 monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), 6251 weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), 6252 weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), 6253 weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), 6254 weekdaysParseExact : true, 6255 // time formats are the same as en-gb 6256 longDateFormat: { 6257 LT: 'HH:mm', 6258 LTS : 'HH:mm:ss', 6259 L: 'DD/MM/YYYY', 6260 LL: 'D MMMM YYYY', 6261 LLL: 'D MMMM YYYY HH:mm', 6262 LLLL: 'dddd, D MMMM YYYY HH:mm' 6263 }, 6264 calendar: { 6265 sameDay: '[Heddiw am] LT', 6266 nextDay: '[Yfory am] LT', 6267 nextWeek: 'dddd [am] LT', 6268 lastDay: '[Ddoe am] LT', 6269 lastWeek: 'dddd [diwethaf am] LT', 6270 sameElse: 'L' 6271 }, 6272 relativeTime: { 6273 future: 'mewn %s', 6274 past: '%s yn ôl', 6275 s: 'ychydig eiliadau', 6276 ss: '%d eiliad', 6277 m: 'munud', 6278 mm: '%d munud', 6279 h: 'awr', 6280 hh: '%d awr', 6281 d: 'diwrnod', 6282 dd: '%d diwrnod', 6283 M: 'mis', 6284 MM: '%d mis', 6285 y: 'blwyddyn', 6286 yy: '%d flynedd' 6287 }, 6288 dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, 6289 // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh 6290 ordinal: function (number) { 6291 var b = number, 6292 output = '', 6293 lookup = [
vendor: 64,190 bytes, lines 6294-7992
6294 '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed 6295 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed 6296 ]; 6297 if (b > 20) { 6298 if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { 6299 output = 'fed'; // not 30ain, 70ain or 90ain 6300 } else { 6301 output = 'ain'; 6302 } 6303 } else if (b > 0) { 6304 output = lookup[b]; 6305 } 6306 return number + output; 6307 }, 6308 week : { 6309 dow : 1, // Monday is the first day of the week. 6310 doy : 4 // The week that contains Jan 4th is the first week of the year. 6311 } 6312 }); 6313 6314 //! moment.js locale configuration 6315 6316 hooks.defineLocale('da', { 6317 months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), 6318 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 6319 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 6320 weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'), 6321 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), 6322 longDateFormat : { 6323 LT : 'HH:mm', 6324 LTS : 'HH:mm:ss', 6325 L : 'DD.MM.YYYY', 6326 LL : 'D. MMMM YYYY', 6327 LLL : 'D. MMMM YYYY HH:mm', 6328 LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm' 6329 }, 6330 calendar : { 6331 sameDay : '[i dag kl.] LT', 6332 nextDay : '[i morgen kl.] LT', 6333 nextWeek : 'pÃ¥ dddd [kl.] LT', 6334 lastDay : '[i gÃ¥r kl.] LT', 6335 lastWeek : '[i] dddd[s kl.] LT', 6336 sameElse : 'L' 6337 }, 6338 relativeTime : { 6339 future : 'om %s', 6340 past : '%s siden', 6341 s : 'fÃ¥ sekunder', 6342 ss : '%d sekunder', 6343 m : 'et minut', 6344 mm : '%d minutter', 6345 h : 'en time', 6346 hh : '%d timer', 6347 d : 'en dag', 6348 dd : '%d dage', 6349 M : 'en mÃ¥ned', 6350 MM : '%d mÃ¥neder', 6351 y : 'et Ã¥r', 6352 yy : '%d Ã¥r' 6353 }, 6354 dayOfMonthOrdinalParse: /\d{1,2}\./, 6355 ordinal : '%d.', 6356 week : { 6357 dow : 1, // Monday is the first day of the week. 6358 doy : 4 // The week that contains Jan 4th is the first week of the year. 6359 } 6360 }); 6361 6362 //! moment.js locale configuration 6363 6364 function processRelativeTime(number, withoutSuffix, key, isFuture) { 6365 var format = { 6366 'm': ['eine Minute', 'einer Minute'], 6367 'h': ['eine Stunde', 'einer Stunde'], 6368 'd': ['ein Tag', 'einem Tag'], 6369 'dd': [number + ' Tage', number + ' Tagen'], 6370 'M': ['ein Monat', 'einem Monat'], 6371 'MM': [number + ' Monate', number + ' Monaten'], 6372 'y': ['ein Jahr', 'einem Jahr'], 6373 'yy': [number + ' Jahre', number + ' Jahren'] 6374 }; 6375 return withoutSuffix ? format[key][0] : format[key][1]; 6376 } 6377 6378 hooks.defineLocale('de-at', { 6379 months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 6380 monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), 6381 monthsParseExact : true, 6382 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), 6383 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), 6384 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 6385 weekdaysParseExact : true, 6386 longDateFormat : { 6387 LT: 'HH:mm', 6388 LTS: 'HH:mm:ss', 6389 L : 'DD.MM.YYYY', 6390 LL : 'D. MMMM YYYY', 6391 LLL : 'D. MMMM YYYY HH:mm', 6392 LLLL : 'dddd, D. MMMM YYYY HH:mm' 6393 }, 6394 calendar : { 6395 sameDay: '[heute um] LT [Uhr]', 6396 sameElse: 'L', 6397 nextDay: '[morgen um] LT [Uhr]', 6398 nextWeek: 'dddd [um] LT [Uhr]', 6399 lastDay: '[gestern um] LT [Uhr]', 6400 lastWeek: '[letzten] dddd [um] LT [Uhr]' 6401 }, 6402 relativeTime : { 6403 future : 'in %s', 6404 past : 'vor %s', 6405 s : 'ein paar Sekunden', 6406 ss : '%d Sekunden', 6407 m : processRelativeTime, 6408 mm : '%d Minuten', 6409 h : processRelativeTime, 6410 hh : '%d Stunden', 6411 d : processRelativeTime, 6412 dd : processRelativeTime, 6413 M : processRelativeTime, 6414 MM : processRelativeTime, 6415 y : processRelativeTime, 6416 yy : processRelativeTime 6417 }, 6418 dayOfMonthOrdinalParse: /\d{1,2}\./, 6419 ordinal : '%d.', 6420 week : { 6421 dow : 1, // Monday is the first day of the week. 6422 doy : 4 // The week that contains Jan 4th is the first week of the year. 6423 } 6424 }); 6425 6426 //! moment.js locale configuration 6427 6428 function processRelativeTime$1(number, withoutSuffix, key, isFuture) { 6429 var format = { 6430 'm': ['eine Minute', 'einer Minute'], 6431 'h': ['eine Stunde', 'einer Stunde'], 6432 'd': ['ein Tag', 'einem Tag'], 6433 'dd': [number + ' Tage', number + ' Tagen'], 6434 'M': ['ein Monat', 'einem Monat'], 6435 'MM': [number + ' Monate', number + ' Monaten'], 6436 'y': ['ein Jahr', 'einem Jahr'], 6437 'yy': [number + ' Jahre', number + ' Jahren'] 6438 }; 6439 return withoutSuffix ? format[key][0] : format[key][1]; 6440 } 6441 6442 hooks.defineLocale('de-ch', { 6443 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 6444 monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), 6445 monthsParseExact : true, 6446 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), 6447 weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 6448 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 6449 weekdaysParseExact : true, 6450 longDateFormat : { 6451 LT: 'HH:mm', 6452 LTS: 'HH:mm:ss', 6453 L : 'DD.MM.YYYY', 6454 LL : 'D. MMMM YYYY', 6455 LLL : 'D. MMMM YYYY HH:mm', 6456 LLLL : 'dddd, D. MMMM YYYY HH:mm' 6457 }, 6458 calendar : { 6459 sameDay: '[heute um] LT [Uhr]', 6460 sameElse: 'L', 6461 nextDay: '[morgen um] LT [Uhr]', 6462 nextWeek: 'dddd [um] LT [Uhr]', 6463 lastDay: '[gestern um] LT [Uhr]', 6464 lastWeek: '[letzten] dddd [um] LT [Uhr]' 6465 }, 6466 relativeTime : { 6467 future : 'in %s', 6468 past : 'vor %s', 6469 s : 'ein paar Sekunden', 6470 ss : '%d Sekunden', 6471 m : processRelativeTime$1, 6472 mm : '%d Minuten', 6473 h : processRelativeTime$1, 6474 hh : '%d Stunden', 6475 d : processRelativeTime$1, 6476 dd : processRelativeTime$1, 6477 M : processRelativeTime$1, 6478 MM : processRelativeTime$1, 6479 y : processRelativeTime$1, 6480 yy : processRelativeTime$1 6481 }, 6482 dayOfMonthOrdinalParse: /\d{1,2}\./, 6483 ordinal : '%d.', 6484 week : { 6485 dow : 1, // Monday is the first day of the week. 6486 doy : 4 // The week that contains Jan 4th is the first week of the year. 6487 } 6488 }); 6489 6490 //! moment.js locale configuration 6491 6492 function processRelativeTime$2(number, withoutSuffix, key, isFuture) { 6493 var format = { 6494 'm': ['eine Minute', 'einer Minute'], 6495 'h': ['eine Stunde', 'einer Stunde'], 6496 'd': ['ein Tag', 'einem Tag'], 6497 'dd': [number + ' Tage', number + ' Tagen'], 6498 'M': ['ein Monat', 'einem Monat'], 6499 'MM': [number + ' Monate', number + ' Monaten'], 6500 'y': ['ein Jahr', 'einem Jahr'], 6501 'yy': [number + ' Jahre', number + ' Jahren'] 6502 }; 6503 return withoutSuffix ? format[key][0] : format[key][1]; 6504 } 6505 6506 hooks.defineLocale('de', { 6507 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 6508 monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), 6509 monthsParseExact : true, 6510 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), 6511 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), 6512 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 6513 weekdaysParseExact : true, 6514 longDateFormat : { 6515 LT: 'HH:mm', 6516 LTS: 'HH:mm:ss', 6517 L : 'DD.MM.YYYY', 6518 LL : 'D. MMMM YYYY', 6519 LLL : 'D. MMMM YYYY HH:mm', 6520 LLLL : 'dddd, D. MMMM YYYY HH:mm' 6521 }, 6522 calendar : { 6523 sameDay: '[heute um] LT [Uhr]', 6524 sameElse: 'L', 6525 nextDay: '[morgen um] LT [Uhr]', 6526 nextWeek: 'dddd [um] LT [Uhr]', 6527 lastDay: '[gestern um] LT [Uhr]', 6528 lastWeek: '[letzten] dddd [um] LT [Uhr]' 6529 }, 6530 relativeTime : { 6531 future : 'in %s', 6532 past : 'vor %s', 6533 s : 'ein paar Sekunden', 6534 ss : '%d Sekunden', 6535 m : processRelativeTime$2, 6536 mm : '%d Minuten', 6537 h : processRelativeTime$2, 6538 hh : '%d Stunden', 6539 d : processRelativeTime$2, 6540 dd : processRelativeTime$2, 6541 M : processRelativeTime$2, 6542 MM : processRelativeTime$2, 6543 y : processRelativeTime$2, 6544 yy : processRelativeTime$2 6545 }, 6546 dayOfMonthOrdinalParse: /\d{1,2}\./, 6547 ordinal : '%d.', 6548 week : { 6549 dow : 1, // Monday is the first day of the week. 6550 doy : 4 // The week that contains Jan 4th is the first week of the year. 6551 } 6552 }); 6553 6554 //! moment.js locale configuration 6555 6556 var months$4 = [ 6557 'ÞÞ¬ÞÞªÞÞ¦ÞÞ©', 6558 'ÞÞ¬ÞÞ°ÞÞªÞÞ¦ÞÞ©', 6559 'ÞÞ§ÞÞ¨ÞÞª', 6560 'ÞÞÞÞ°ÞÞ©ÞÞª', 6561 'ÞÞ', 6562 'ÞÞ«ÞÞ°', 6563 'ÞÞªÞÞ¦ÞÞ¨', 6564 'ÞÞ¯ÞÞ¦ÞÞ°ÞÞª', 6565 'ÞÞ¬ÞÞ°ÞÞ¬ÞÞ°ÞÞ¦ÞÞª', 6566 'ÞÞ®ÞÞ°ÞÞ¯ÞÞ¦ÞÞª', 6567 'ÞÞ®ÞÞ¬ÞÞ°ÞÞ¦ÞÞª', 6568 'ÞÞ¨ÞÞ¬ÞÞ°ÞÞ¦ÞÞª' 6569 ], weekdays = [ 6570 'ÞÞ§ÞÞ¨ÞÞ°ÞÞ¦', 6571 'ÞÞ¯ÞÞ¦', 6572 'ÞÞ¦ÞÞ°ÞÞ§ÞÞ¦', 6573 'ÞÞªÞÞ¦', 6574 'ÞÞªÞÞ§ÞÞ°ÞÞ¦ÞÞ¨', 6575 'ÞÞªÞÞªÞÞª', 6576 'ÞÞ®ÞÞ¨ÞÞ¨ÞÞª' 6577 ]; 6578 6579 hooks.defineLocale('dv', { 6580 months : months$4, 6581 monthsShort : months$4, 6582 weekdays : weekdays, 6583 weekdaysShort : weekdays, 6584 weekdaysMin : 'ÞÞ§ÞÞ¨_ÞÞ¯ÞÞ¦_ÞÞ¦ÞÞ°_ÞÞªÞÞ¦_ÞÞªÞÞ§_ÞÞªÞÞª_ÞÞ®ÞÞ¨'.split('_'), 6585 longDateFormat : { 6586 6587 LT : 'HH:mm', 6588 LTS : 'HH:mm:ss', 6589 L : 'D/M/YYYY', 6590 LL : 'D MMMM YYYY', 6591 LLL : 'D MMMM YYYY HH:mm', 6592 LLLL : 'dddd D MMMM YYYY HH:mm' 6593 }, 6594 meridiemParse: /ÞÞ|ÞÞ/, 6595 isPM : function (input) { 6596 return 'ÞÞ' === input; 6597 }, 6598 meridiem : function (hour, minute, isLower) { 6599 if (hour < 12) { 6600 return 'ÞÞ'; 6601 } else { 6602 return 'ÞÞ'; 6603 } 6604 }, 6605 calendar : { 6606 sameDay : '[ÞÞ¨ÞÞ¦ÞÞª] LT', 6607 nextDay : '[ÞÞ§ÞÞ¦ÞÞ§] LT', 6608 nextWeek : 'dddd LT', 6609 lastDay : '[ÞÞ¨ÞÞ°ÞÞ¬] LT', 6610 lastWeek : '[ÞÞ§ÞÞ¨ÞÞªÞÞ¨] dddd LT', 6611 sameElse : 'L' 6612 }, 6613 relativeTime : { 6614 future : 'ÞÞ¬ÞÞÞÞ¦ÞÞ¨ %s', 6615 past : 'ÞÞªÞÞ¨ÞÞ° %s', 6616 s : 'ÞÞ¨ÞÞªÞÞ°ÞÞªÞÞ®Þ Þ¬ÞÞ°', 6617 ss : 'd% ÞÞ¨ÞÞªÞÞ°ÞÞª', 6618 m : 'ÞÞ¨ÞÞ¨ÞÞ¬ÞÞ°', 6619 mm : 'ÞÞ¨ÞÞ¨ÞÞª %d', 6620 h : 'ÞÞ¦ÞÞ¨ÞÞ¨ÞÞ¬ÞÞ°', 6621 hh : 'ÞÞ¦ÞÞ¨ÞÞ¨ÞÞª %d', 6622 d : 'ÞÞªÞÞ¦ÞÞ¬ÞÞ°', 6623 dd : 'ÞÞªÞÞ¦ÞÞ° %d', 6624 M : 'ÞÞ¦ÞÞ¬ÞÞ°', 6625 MM : 'ÞÞ¦ÞÞ° %d', 6626 y : 'ÞÞ¦ÞÞ¦ÞÞ¬ÞÞ°', 6627 yy : 'ÞÞ¦ÞÞ¦ÞÞª %d' 6628 }, 6629 preparse: function (string) { 6630 return string.replace(/Ø/g, ','); 6631 }, 6632 postformat: function (string) { 6633 return string.replace(/,/g, 'Ø'); 6634 }, 6635 week : { 6636 dow : 7, // Sunday is the first day of the week. 6637 doy : 12 // The week that contains Jan 12th is the first week of the year. 6638 } 6639 }); 6640 6641 //! moment.js locale configuration 6642 6643 hooks.defineLocale('el', { 6644 monthsNominativeEl : 'ÎÎ±Î½Î¿Ï Î¬ÏιοÏ_ΦεβÏÎ¿Ï Î¬ÏιοÏ_ÎάÏÏιοÏ_ÎÏÏίλιοÏ_ÎάιοÏ_ÎοÏνιοÏ_ÎοÏλιοÏ_ÎÏÎ³Î¿Ï ÏÏοÏ_ΣεÏÏÎμβÏιοÏ_ÎκÏÏβÏιοÏ_ÎοÎμβÏιοÏ_ÎεκÎμβÏιοÏ'.split('_'), 6645 monthsGenitiveEl : 'ÎÎ±Î½Î¿Ï Î±ÏÎ¯Î¿Ï _ΦεβÏÎ¿Ï Î±ÏÎ¯Î¿Ï _ÎαÏÏÎ¯Î¿Ï _ÎÏÏÎ¹Î»Î¯Î¿Ï _ÎαÎÎ¿Ï _ÎÎ¿Ï Î½Î¯Î¿Ï _ÎÎ¿Ï Î»Î¯Î¿Ï _ÎÏ Î³Î¿ÏÏÏÎ¿Ï _ΣεÏÏεμβÏÎ¯Î¿Ï _ÎκÏÏβÏÎ¯Î¿Ï _ÎοεμβÏÎ¯Î¿Ï _ÎεκεμβÏÎ¯Î¿Ï '.split('_'), 6646 months : function (momentToFormat, format) { 6647 if (!momentToFormat) { 6648 return this._monthsNominativeEl; 6649 } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM' 6650 return this._monthsGenitiveEl[momentToFormat.month()]; 6651 } else { 6652 return this._monthsNominativeEl[momentToFormat.month()]; 6653 } 6654 }, 6655 monthsShort : 'Îαν_Φεβ_ÎαÏ_ÎÏÏ_ÎαÏ_ÎÎ¿Ï Î½_ÎÎ¿Ï Î»_ÎÏ Î³_ΣεÏ_ÎκÏ_Îοε_Îεκ'.split('_'), 6656 weekdays : 'ÎÏ Ïιακή_ÎÎµÏ ÏÎÏα_ΤÏίÏη_ΤεÏάÏÏη_Î ÎμÏÏη_ΠαÏαÏÎºÎµÏ Î®_ΣάββαÏο'.split('_'), 6657 weekdaysShort : 'ÎÏ Ï_ÎÎµÏ _ΤÏι_ΤεÏ_Πεμ_ΠαÏ_Σαβ'.split('_'), 6658 weekdaysMin : 'ÎÏ _Îε_ΤÏ_Τε_Πε_Πα_Σα'.split('_'), 6659 meridiem : function (hours, minutes, isLower) { 6660 if (hours > 11) { 6661 return isLower ? 'μμ' : 'ÎÎ'; 6662 } else { 6663 return isLower ? 'Ïμ' : 'Î Î'; 6664 } 6665 }, 6666 isPM : function (input) { 6667 return ((input + '').toLowerCase()[0] === 'μ'); 6668 }, 6669 meridiemParse : /[Î Î]\.?Î?\.?/i, 6670 longDateFormat : { 6671 LT : 'h:mm A', 6672 LTS : 'h:mm:ss A', 6673 L : 'DD/MM/YYYY', 6674 LL : 'D MMMM YYYY', 6675 LLL : 'D MMMM YYYY h:mm A', 6676 LLLL : 'dddd, D MMMM YYYY h:mm A' 6677 }, 6678 calendarEl : { 6679 sameDay : '[ΣήμεÏα {}] LT', 6680 nextDay : '[ÎÏÏιο {}] LT', 6681 nextWeek : 'dddd [{}] LT', 6682 lastDay : '[Î§Î¸ÎµÏ {}] LT', 6683 lastWeek : function () { 6684 switch (this.day()) { 6685 case 6: 6686 return '[Ïο ÏÏοηγοÏμενο] dddd [{}] LT'; 6687 default: 6688 return '[Ïην ÏÏοηγοÏμενη] dddd [{}] LT'; 6689 } 6690 }, 6691 sameElse : 'L' 6692 }, 6693 calendar : function (key, mom) { 6694 var output = this._calendarEl[key], 6695 hours = mom && mom.hours(); 6696 if (isFunction(output)) { 6697 output = output.apply(mom); 6698 } 6699 return output.replace('{}', (hours % 12 === 1 ? 'ÏÏη' : 'ÏÏιÏ')); 6700 }, 6701 relativeTime : { 6702 future : 'Ïε %s', 6703 past : '%s ÏÏιν', 6704 s : 'λίγα Î´ÎµÏ ÏεÏÏλεÏÏα', 6705 ss : '%d Î´ÎµÏ ÏεÏÏλεÏÏα', 6706 m : 'Îνα λεÏÏÏ', 6707 mm : '%d λεÏÏά', 6708 h : 'μία ÏÏα', 6709 hh : '%d ÏÏεÏ', 6710 d : 'μία μÎÏα', 6711 dd : '%d μÎÏεÏ', 6712 M : 'ÎÎ½Î±Ï Î¼Î®Î½Î±Ï', 6713 MM : '%d μήνεÏ', 6714 y : 'ÎÎ½Î±Ï ÏÏÏνοÏ', 6715 yy : '%d ÏÏÏνια' 6716 }, 6717 dayOfMonthOrdinalParse: /\d{1,2}η/, 6718 ordinal: '%dη', 6719 week : { 6720 dow : 1, // Monday is the first day of the week. 6721 doy : 4 // The week that contains Jan 4st is the first week of the year. 6722 } 6723 }); 6724 6725 //! moment.js locale configuration 6726 6727 hooks.defineLocale('en-SG', { 6728 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6729 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6730 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6731 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6732 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6733 longDateFormat : { 6734 LT : 'HH:mm', 6735 LTS : 'HH:mm:ss', 6736 L : 'DD/MM/YYYY', 6737 LL : 'D MMMM YYYY', 6738 LLL : 'D MMMM YYYY HH:mm', 6739 LLLL : 'dddd, D MMMM YYYY HH:mm' 6740 }, 6741 calendar : { 6742 sameDay : '[Today at] LT', 6743 nextDay : '[Tomorrow at] LT', 6744 nextWeek : 'dddd [at] LT', 6745 lastDay : '[Yesterday at] LT', 6746 lastWeek : '[Last] dddd [at] LT', 6747 sameElse : 'L' 6748 }, 6749 relativeTime : { 6750 future : 'in %s', 6751 past : '%s ago', 6752 s : 'a few seconds', 6753 ss : '%d seconds', 6754 m : 'a minute', 6755 mm : '%d minutes', 6756 h : 'an hour', 6757 hh : '%d hours', 6758 d : 'a day', 6759 dd : '%d days', 6760 M : 'a month', 6761 MM : '%d months', 6762 y : 'a year', 6763 yy : '%d years' 6764 }, 6765 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6766 ordinal : function (number) { 6767 var b = number % 10, 6768 output = (~~(number % 100 / 10) === 1) ? 'th' : 6769 (b === 1) ? 'st' : 6770 (b === 2) ? 'nd' : 6771 (b === 3) ? 'rd' : 'th'; 6772 return number + output; 6773 }, 6774 week : { 6775 dow : 1, // Monday is the first day of the week. 6776 doy : 4 // The week that contains Jan 4th is the first week of the year. 6777 } 6778 }); 6779 6780 //! moment.js locale configuration 6781 6782 hooks.defineLocale('en-au', { 6783 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6784 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6785 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6786 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6787 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6788 longDateFormat : { 6789 LT : 'h:mm A', 6790 LTS : 'h:mm:ss A', 6791 L : 'DD/MM/YYYY', 6792 LL : 'D MMMM YYYY', 6793 LLL : 'D MMMM YYYY h:mm A', 6794 LLLL : 'dddd, D MMMM YYYY h:mm A' 6795 }, 6796 calendar : { 6797 sameDay : '[Today at] LT', 6798 nextDay : '[Tomorrow at] LT', 6799 nextWeek : 'dddd [at] LT', 6800 lastDay : '[Yesterday at] LT', 6801 lastWeek : '[Last] dddd [at] LT', 6802 sameElse : 'L' 6803 }, 6804 relativeTime : { 6805 future : 'in %s', 6806 past : '%s ago', 6807 s : 'a few seconds', 6808 ss : '%d seconds', 6809 m : 'a minute', 6810 mm : '%d minutes', 6811 h : 'an hour', 6812 hh : '%d hours', 6813 d : 'a day', 6814 dd : '%d days', 6815 M : 'a month', 6816 MM : '%d months', 6817 y : 'a year', 6818 yy : '%d years' 6819 }, 6820 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6821 ordinal : function (number) { 6822 var b = number % 10, 6823 output = (~~(number % 100 / 10) === 1) ? 'th' : 6824 (b === 1) ? 'st' : 6825 (b === 2) ? 'nd' : 6826 (b === 3) ? 'rd' : 'th'; 6827 return number + output; 6828 }, 6829 week : { 6830 dow : 1, // Monday is the first day of the week. 6831 doy : 4 // The week that contains Jan 4th is the first week of the year. 6832 } 6833 }); 6834 6835 //! moment.js locale configuration 6836 6837 hooks.defineLocale('en-ca', { 6838 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6839 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6840 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6841 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6842 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6843 longDateFormat : { 6844 LT : 'h:mm A', 6845 LTS : 'h:mm:ss A', 6846 L : 'YYYY-MM-DD', 6847 LL : 'MMMM D, YYYY', 6848 LLL : 'MMMM D, YYYY h:mm A', 6849 LLLL : 'dddd, MMMM D, YYYY h:mm A' 6850 }, 6851 calendar : { 6852 sameDay : '[Today at] LT', 6853 nextDay : '[Tomorrow at] LT', 6854 nextWeek : 'dddd [at] LT', 6855 lastDay : '[Yesterday at] LT', 6856 lastWeek : '[Last] dddd [at] LT', 6857 sameElse : 'L' 6858 }, 6859 relativeTime : { 6860 future : 'in %s', 6861 past : '%s ago', 6862 s : 'a few seconds', 6863 ss : '%d seconds', 6864 m : 'a minute', 6865 mm : '%d minutes', 6866 h : 'an hour', 6867 hh : '%d hours', 6868 d : 'a day', 6869 dd : '%d days', 6870 M : 'a month', 6871 MM : '%d months', 6872 y : 'a year', 6873 yy : '%d years' 6874 }, 6875 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6876 ordinal : function (number) { 6877 var b = number % 10, 6878 output = (~~(number % 100 / 10) === 1) ? 'th' : 6879 (b === 1) ? 'st' : 6880 (b === 2) ? 'nd' : 6881 (b === 3) ? 'rd' : 'th'; 6882 return number + output; 6883 } 6884 }); 6885 6886 //! moment.js locale configuration 6887 6888 hooks.defineLocale('en-gb', { 6889 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6890 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6891 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6892 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6893 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6894 longDateFormat : { 6895 LT : 'HH:mm', 6896 LTS : 'HH:mm:ss', 6897 L : 'DD/MM/YYYY', 6898 LL : 'D MMMM YYYY', 6899 LLL : 'D MMMM YYYY HH:mm', 6900 LLLL : 'dddd, D MMMM YYYY HH:mm' 6901 }, 6902 calendar : { 6903 sameDay : '[Today at] LT', 6904 nextDay : '[Tomorrow at] LT', 6905 nextWeek : 'dddd [at] LT', 6906 lastDay : '[Yesterday at] LT', 6907 lastWeek : '[Last] dddd [at] LT', 6908 sameElse : 'L' 6909 }, 6910 relativeTime : { 6911 future : 'in %s', 6912 past : '%s ago', 6913 s : 'a few seconds', 6914 ss : '%d seconds', 6915 m : 'a minute', 6916 mm : '%d minutes', 6917 h : 'an hour', 6918 hh : '%d hours', 6919 d : 'a day', 6920 dd : '%d days', 6921 M : 'a month', 6922 MM : '%d months', 6923 y : 'a year', 6924 yy : '%d years' 6925 }, 6926 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6927 ordinal : function (number) { 6928 var b = number % 10, 6929 output = (~~(number % 100 / 10) === 1) ? 'th' : 6930 (b === 1) ? 'st' : 6931 (b === 2) ? 'nd' : 6932 (b === 3) ? 'rd' : 'th'; 6933 return number + output; 6934 }, 6935 week : { 6936 dow : 1, // Monday is the first day of the week. 6937 doy : 4 // The week that contains Jan 4th is the first week of the year. 6938 } 6939 }); 6940 6941 //! moment.js locale configuration 6942 6943 hooks.defineLocale('en-ie', { 6944 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6945 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6946 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6947 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6948 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6949 longDateFormat : { 6950 LT : 'HH:mm', 6951 LTS : 'HH:mm:ss', 6952 L : 'DD/MM/YYYY', 6953 LL : 'D MMMM YYYY', 6954 LLL : 'D MMMM YYYY HH:mm', 6955 LLLL : 'dddd D MMMM YYYY HH:mm' 6956 }, 6957 calendar : { 6958 sameDay : '[Today at] LT', 6959 nextDay : '[Tomorrow at] LT', 6960 nextWeek : 'dddd [at] LT', 6961 lastDay : '[Yesterday at] LT', 6962 lastWeek : '[Last] dddd [at] LT', 6963 sameElse : 'L' 6964 }, 6965 relativeTime : { 6966 future : 'in %s', 6967 past : '%s ago', 6968 s : 'a few seconds', 6969 ss : '%d seconds', 6970 m : 'a minute', 6971 mm : '%d minutes', 6972 h : 'an hour', 6973 hh : '%d hours', 6974 d : 'a day', 6975 dd : '%d days', 6976 M : 'a month', 6977 MM : '%d months', 6978 y : 'a year', 6979 yy : '%d years' 6980 }, 6981 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6982 ordinal : function (number) { 6983 var b = number % 10, 6984 output = (~~(number % 100 / 10) === 1) ? 'th' : 6985 (b === 1) ? 'st' : 6986 (b === 2) ? 'nd' : 6987 (b === 3) ? 'rd' : 'th'; 6988 return number + output; 6989 }, 6990 week : { 6991 dow : 1, // Monday is the first day of the week. 6992 doy : 4 // The week that contains Jan 4th is the first week of the year. 6993 } 6994 }); 6995 6996 //! moment.js locale configuration 6997 6998 hooks.defineLocale('en-il', { 6999 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 7000 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 7001 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 7002 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 7003 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 7004 longDateFormat : { 7005 LT : 'HH:mm', 7006 LTS : 'HH:mm:ss', 7007 L : 'DD/MM/YYYY', 7008 LL : 'D MMMM YYYY', 7009 LLL : 'D MMMM YYYY HH:mm', 7010 LLLL : 'dddd, D MMMM YYYY HH:mm' 7011 }, 7012 calendar : { 7013 sameDay : '[Today at] LT', 7014 nextDay : '[Tomorrow at] LT', 7015 nextWeek : 'dddd [at] LT', 7016 lastDay : '[Yesterday at] LT', 7017 lastWeek : '[Last] dddd [at] LT', 7018 sameElse : 'L' 7019 }, 7020 relativeTime : { 7021 future : 'in %s', 7022 past : '%s ago', 7023 s : 'a few seconds', 7024 m : 'a minute', 7025 mm : '%d minutes', 7026 h : 'an hour', 7027 hh : '%d hours', 7028 d : 'a day', 7029 dd : '%d days', 7030 M : 'a month', 7031 MM : '%d months', 7032 y : 'a year', 7033 yy : '%d years' 7034 }, 7035 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 7036 ordinal : function (number) { 7037 var b = number % 10, 7038 output = (~~(number % 100 / 10) === 1) ? 'th' : 7039 (b === 1) ? 'st' : 7040 (b === 2) ? 'nd' : 7041 (b === 3) ? 'rd' : 'th'; 7042 return number + output; 7043 } 7044 }); 7045 7046 //! moment.js locale configuration 7047 7048 hooks.defineLocale('en-nz', { 7049 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 7050 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 7051 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 7052 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 7053 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 7054 longDateFormat : { 7055 LT : 'h:mm A', 7056 LTS : 'h:mm:ss A', 7057 L : 'DD/MM/YYYY', 7058 LL : 'D MMMM YYYY', 7059 LLL : 'D MMMM YYYY h:mm A', 7060 LLLL : 'dddd, D MMMM YYYY h:mm A' 7061 }, 7062 calendar : { 7063 sameDay : '[Today at] LT', 7064 nextDay : '[Tomorrow at] LT', 7065 nextWeek : 'dddd [at] LT', 7066 lastDay : '[Yesterday at] LT', 7067 lastWeek : '[Last] dddd [at] LT', 7068 sameElse : 'L' 7069 }, 7070 relativeTime : { 7071 future : 'in %s', 7072 past : '%s ago', 7073 s : 'a few seconds', 7074 ss : '%d seconds', 7075 m : 'a minute', 7076 mm : '%d minutes', 7077 h : 'an hour', 7078 hh : '%d hours', 7079 d : 'a day', 7080 dd : '%d days', 7081 M : 'a month', 7082 MM : '%d months', 7083 y : 'a year', 7084 yy : '%d years' 7085 }, 7086 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 7087 ordinal : function (number) { 7088 var b = number % 10, 7089 output = (~~(number % 100 / 10) === 1) ? 'th' : 7090 (b === 1) ? 'st' : 7091 (b === 2) ? 'nd' : 7092 (b === 3) ? 'rd' : 'th'; 7093 return number + output; 7094 }, 7095 week : { 7096 dow : 1, // Monday is the first day of the week. 7097 doy : 4 // The week that contains Jan 4th is the first week of the year. 7098 } 7099 }); 7100 7101 //! moment.js locale configuration 7102 7103 hooks.defineLocale('eo', { 7104 months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅgusto_septembro_oktobro_novembro_decembro'.split('_'), 7105 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅg_sep_okt_nov_dec'.split('_'), 7106 weekdays : 'dimanÄo_lundo_mardo_merkredo_ĵaÅdo_vendredo_sabato'.split('_'), 7107 weekdaysShort : 'dim_lun_mard_merk_ĵaÅ_ven_sab'.split('_'), 7108 weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'), 7109 longDateFormat : { 7110 LT : 'HH:mm', 7111 LTS : 'HH:mm:ss', 7112 L : 'YYYY-MM-DD', 7113 LL : 'D[-a de] MMMM, YYYY', 7114 LLL : 'D[-a de] MMMM, YYYY HH:mm', 7115 LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' 7116 }, 7117 meridiemParse: /[ap]\.t\.m/i, 7118 isPM: function (input) { 7119 return input.charAt(0).toLowerCase() === 'p'; 7120 }, 7121 meridiem : function (hours, minutes, isLower) { 7122 if (hours > 11) { 7123 return isLower ? 'p.t.m.' : 'P.T.M.'; 7124 } else { 7125 return isLower ? 'a.t.m.' : 'A.T.M.'; 7126 } 7127 }, 7128 calendar : { 7129 sameDay : '[HodiaÅ je] LT', 7130 nextDay : '[MorgaÅ je] LT', 7131 nextWeek : 'dddd [je] LT', 7132 lastDay : '[HieraÅ je] LT', 7133 lastWeek : '[pasinta] dddd [je] LT', 7134 sameElse : 'L' 7135 }, 7136 relativeTime : { 7137 future : 'post %s', 7138 past : 'antaÅ %s', 7139 s : 'sekundoj', 7140 ss : '%d sekundoj', 7141 m : 'minuto', 7142 mm : '%d minutoj', 7143 h : 'horo', 7144 hh : '%d horoj', 7145 d : 'tago',//ne 'diurno', Äar estas uzita por proksimumo 7146 dd : '%d tagoj', 7147 M : 'monato', 7148 MM : '%d monatoj', 7149 y : 'jaro', 7150 yy : '%d jaroj' 7151 }, 7152 dayOfMonthOrdinalParse: /\d{1,2}a/, 7153 ordinal : '%da', 7154 week : { 7155 dow : 1, // Monday is the first day of the week. 7156 doy : 7 // The week that contains Jan 7th is the first week of the year. 7157 } 7158 }); 7159 7160 //! moment.js locale configuration 7161 7162 var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), 7163 monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); 7164 7165 var monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; 7166 var monthsRegex$2 = /^(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; 7167 7168 hooks.defineLocale('es-do', { 7169 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), 7170 monthsShort : function (m, format) { 7171 if (!m) { 7172 return monthsShortDot; 7173 } else if (/-MMM-/.test(format)) { 7174 return monthsShort$1[m.month()]; 7175 } else { 7176 return monthsShortDot[m.month()]; 7177 } 7178 }, 7179 monthsRegex: monthsRegex$2, 7180 monthsShortRegex: monthsRegex$2, 7181 monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 7182 monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 7183 monthsParse: monthsParse$1, 7184 longMonthsParse: monthsParse$1, 7185 shortMonthsParse: monthsParse$1, 7186 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 7187 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 7188 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'), 7189 weekdaysParseExact : true, 7190 longDateFormat : { 7191 LT : 'h:mm A', 7192 LTS : 'h:mm:ss A', 7193 L : 'DD/MM/YYYY', 7194 LL : 'D [de] MMMM [de] YYYY', 7195 LLL : 'D [de] MMMM [de] YYYY h:mm A', 7196 LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A' 7197 }, 7198 calendar : { 7199 sameDay : function () { 7200 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7201 }, 7202 nextDay : function () { 7203 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7204 }, 7205 nextWeek : function () { 7206 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7207 }, 7208 lastDay : function () { 7209 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7210 }, 7211 lastWeek : function () { 7212 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7213 }, 7214 sameElse : 'L' 7215 }, 7216 relativeTime : { 7217 future : 'en %s', 7218 past : 'hace %s', 7219 s : 'unos segundos', 7220 ss : '%d segundos', 7221 m : 'un minuto', 7222 mm : '%d minutos', 7223 h : 'una hora', 7224 hh : '%d horas', 7225 d : 'un dÃa', 7226 dd : '%d dÃas', 7227 M : 'un mes', 7228 MM : '%d meses', 7229 y : 'un año', 7230 yy : '%d años' 7231 }, 7232 dayOfMonthOrdinalParse : /\d{1,2}º/, 7233 ordinal : '%dº', 7234 week : { 7235 dow : 1, // Monday is the first day of the week. 7236 doy : 4 // The week that contains Jan 4th is the first week of the year. 7237 } 7238 }); 7239 7240 //! moment.js locale configuration 7241 7242 var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), 7243 monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); 7244 7245 var monthsParse$2 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; 7246 var monthsRegex$3 = /^(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; 7247 7248 hooks.defineLocale('es-us', { 7249 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), 7250 monthsShort : function (m, format) { 7251 if (!m) { 7252 return monthsShortDot$1; 7253 } else if (/-MMM-/.test(format)) { 7254 return monthsShort$2[m.month()]; 7255 } else { 7256 return monthsShortDot$1[m.month()]; 7257 } 7258 }, 7259 monthsRegex: monthsRegex$3, 7260 monthsShortRegex: monthsRegex$3, 7261 monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 7262 monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 7263 monthsParse: monthsParse$2, 7264 longMonthsParse: monthsParse$2, 7265 shortMonthsParse: monthsParse$2, 7266 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 7267 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 7268 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'), 7269 weekdaysParseExact : true, 7270 longDateFormat : { 7271 LT : 'h:mm A', 7272 LTS : 'h:mm:ss A', 7273 L : 'MM/DD/YYYY', 7274 LL : 'D [de] MMMM [de] YYYY', 7275 LLL : 'D [de] MMMM [de] YYYY h:mm A', 7276 LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A' 7277 }, 7278 calendar : { 7279 sameDay : function () { 7280 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7281 }, 7282 nextDay : function () { 7283 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7284 }, 7285 nextWeek : function () { 7286 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7287 }, 7288 lastDay : function () { 7289 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7290 }, 7291 lastWeek : function () { 7292 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7293 }, 7294 sameElse : 'L' 7295 }, 7296 relativeTime : { 7297 future : 'en %s', 7298 past : 'hace %s', 7299 s : 'unos segundos', 7300 ss : '%d segundos', 7301 m : 'un minuto', 7302 mm : '%d minutos', 7303 h : 'una hora', 7304 hh : '%d horas', 7305 d : 'un dÃa', 7306 dd : '%d dÃas', 7307 M : 'un mes', 7308 MM : '%d meses', 7309 y : 'un año', 7310 yy : '%d años' 7311 }, 7312 dayOfMonthOrdinalParse : /\d{1,2}º/, 7313 ordinal : '%dº', 7314 week : { 7315 dow : 0, // Sunday is the first day of the week. 7316 doy : 6 // The week that contains Jan 6th is the first week of the year. 7317 } 7318 }); 7319 7320 //! moment.js locale configuration 7321 7322 var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), 7323 monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); 7324 7325 var monthsParse$3 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; 7326 var monthsRegex$4 = /^(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; 7327 7328 hooks.defineLocale('es', { 7329 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), 7330 monthsShort : function (m, format) { 7331 if (!m) { 7332 return monthsShortDot$2; 7333 } else if (/-MMM-/.test(format)) { 7334 return monthsShort$3[m.month()]; 7335 } else { 7336 return monthsShortDot$2[m.month()]; 7337 } 7338 }, 7339 monthsRegex : monthsRegex$4, 7340 monthsShortRegex : monthsRegex$4, 7341 monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 7342 monthsShortStrictRegex : /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 7343 monthsParse : monthsParse$3, 7344 longMonthsParse : monthsParse$3, 7345 shortMonthsParse : monthsParse$3, 7346 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 7347 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 7348 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'), 7349 weekdaysParseExact : true, 7350 longDateFormat : { 7351 LT : 'H:mm', 7352 LTS : 'H:mm:ss', 7353 L : 'DD/MM/YYYY', 7354 LL : 'D [de] MMMM [de] YYYY', 7355 LLL : 'D [de] MMMM [de] YYYY H:mm', 7356 LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' 7357 }, 7358 calendar : { 7359 sameDay : function () { 7360 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7361 }, 7362 nextDay : function () { 7363 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7364 }, 7365 nextWeek : function () { 7366 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7367 }, 7368 lastDay : function () { 7369 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7370 }, 7371 lastWeek : function () { 7372 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7373 }, 7374 sameElse : 'L' 7375 }, 7376 relativeTime : { 7377 future : 'en %s', 7378 past : 'hace %s', 7379 s : 'unos segundos', 7380 ss : '%d segundos', 7381 m : 'un minuto', 7382 mm : '%d minutos', 7383 h : 'una hora', 7384 hh : '%d horas', 7385 d : 'un dÃa', 7386 dd : '%d dÃas', 7387 M : 'un mes', 7388 MM : '%d meses', 7389 y : 'un año', 7390 yy : '%d años' 7391 }, 7392 dayOfMonthOrdinalParse : /\d{1,2}º/, 7393 ordinal : '%dº', 7394 week : { 7395 dow : 1, // Monday is the first day of the week. 7396 doy : 4 // The week that contains Jan 4th is the first week of the year. 7397 } 7398 }); 7399 7400 //! moment.js locale configuration 7401 7402 function processRelativeTime$3(number, withoutSuffix, key, isFuture) { 7403 var format = { 7404 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'], 7405 'ss': [number + 'sekundi', number + 'sekundit'], 7406 'm' : ['ühe minuti', 'üks minut'], 7407 'mm': [number + ' minuti', number + ' minutit'], 7408 'h' : ['ühe tunni', 'tund aega', 'üks tund'], 7409 'hh': [number + ' tunni', number + ' tundi'], 7410 'd' : ['ühe päeva', 'üks päev'], 7411 'M' : ['kuu aja', 'kuu aega', 'üks kuu'], 7412 'MM': [number + ' kuu', number + ' kuud'], 7413 'y' : ['ühe aasta', 'aasta', 'üks aasta'], 7414 'yy': [number + ' aasta', number + ' aastat'] 7415 }; 7416 if (withoutSuffix) { 7417 return format[key][2] ? format[key][2] : format[key][1]; 7418 } 7419 return isFuture ? format[key][0] : format[key][1]; 7420 } 7421 7422 hooks.defineLocale('et', { 7423 months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), 7424 monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), 7425 weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), 7426 weekdaysShort : 'P_E_T_K_N_R_L'.split('_'), 7427 weekdaysMin : 'P_E_T_K_N_R_L'.split('_'), 7428 longDateFormat : { 7429 LT : 'H:mm', 7430 LTS : 'H:mm:ss', 7431 L : 'DD.MM.YYYY', 7432 LL : 'D. MMMM YYYY', 7433 LLL : 'D. MMMM YYYY H:mm', 7434 LLLL : 'dddd, D. MMMM YYYY H:mm' 7435 }, 7436 calendar : { 7437 sameDay : '[Täna,] LT', 7438 nextDay : '[Homme,] LT', 7439 nextWeek : '[Järgmine] dddd LT', 7440 lastDay : '[Eile,] LT', 7441 lastWeek : '[Eelmine] dddd LT', 7442 sameElse : 'L' 7443 }, 7444 relativeTime : { 7445 future : '%s pärast', 7446 past : '%s tagasi', 7447 s : processRelativeTime$3, 7448 ss : processRelativeTime$3, 7449 m : processRelativeTime$3, 7450 mm : processRelativeTime$3, 7451 h : processRelativeTime$3, 7452 hh : processRelativeTime$3, 7453 d : processRelativeTime$3, 7454 dd : '%d päeva', 7455 M : processRelativeTime$3, 7456 MM : processRelativeTime$3, 7457 y : processRelativeTime$3, 7458 yy : processRelativeTime$3 7459 }, 7460 dayOfMonthOrdinalParse: /\d{1,2}\./, 7461 ordinal : '%d.', 7462 week : { 7463 dow : 1, // Monday is the first day of the week. 7464 doy : 4 // The week that contains Jan 4th is the first week of the year. 7465 } 7466 }); 7467 7468 //! moment.js locale configuration 7469 7470 hooks.defineLocale('eu', { 7471 months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), 7472 monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), 7473 monthsParseExact : true, 7474 weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), 7475 weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'), 7476 weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'), 7477 weekdaysParseExact : true, 7478 longDateFormat : { 7479 LT : 'HH:mm', 7480 LTS : 'HH:mm:ss', 7481 L : 'YYYY-MM-DD', 7482 LL : 'YYYY[ko] MMMM[ren] D[a]', 7483 LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm', 7484 LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', 7485 l : 'YYYY-M-D', 7486 ll : 'YYYY[ko] MMM D[a]', 7487 lll : 'YYYY[ko] MMM D[a] HH:mm', 7488 llll : 'ddd, YYYY[ko] MMM D[a] HH:mm' 7489 }, 7490 calendar : { 7491 sameDay : '[gaur] LT[etan]', 7492 nextDay : '[bihar] LT[etan]', 7493 nextWeek : 'dddd LT[etan]', 7494 lastDay : '[atzo] LT[etan]', 7495 lastWeek : '[aurreko] dddd LT[etan]', 7496 sameElse : 'L' 7497 }, 7498 relativeTime : { 7499 future : '%s barru', 7500 past : 'duela %s', 7501 s : 'segundo batzuk', 7502 ss : '%d segundo', 7503 m : 'minutu bat', 7504 mm : '%d minutu', 7505 h : 'ordu bat', 7506 hh : '%d ordu', 7507 d : 'egun bat', 7508 dd : '%d egun', 7509 M : 'hilabete bat', 7510 MM : '%d hilabete', 7511 y : 'urte bat', 7512 yy : '%d urte' 7513 }, 7514 dayOfMonthOrdinalParse: /\d{1,2}\./, 7515 ordinal : '%d.', 7516 week : { 7517 dow : 1, // Monday is the first day of the week. 7518 doy : 7 // The week that contains Jan 7th is the first week of the year. 7519 } 7520 }); 7521 7522 //! moment.js locale configuration 7523 7524 var symbolMap$5 = { 7525 '1': 'Û±', 7526 '2': 'Û²', 7527 '3': 'Û³', 7528 '4': 'Û´', 7529 '5': 'Ûµ', 7530 '6': 'Û¶', 7531 '7': 'Û·', 7532 '8': 'Û¸', 7533 '9': 'Û¹', 7534 '0': 'Û°' 7535 }, numberMap$4 = { 7536 'Û±': '1', 7537 'Û²': '2', 7538 'Û³': '3', 7539 'Û´': '4', 7540 'Ûµ': '5', 7541 'Û¶': '6', 7542 'Û·': '7', 7543 'Û¸': '8', 7544 'Û¹': '9', 7545 'Û°': '0' 7546 }; 7547 7548 hooks.defineLocale('fa', { 7549 months : 'ÚØ§ÙÙÛÙ_ÙÙØ±ÛÙ_٠ارس_Ø¢ÙØ±ÛÙ_Ù Ù_ÚÙØ¦Ù_ÚÙØ¦ÛÙ_Ø§ÙØª_سپتا٠بر_اکتبر_ÙÙØ§Ù بر_دسا٠بر'.split('_'), 7550 monthsShort : 'ÚØ§ÙÙÛÙ_ÙÙØ±ÛÙ_٠ارس_Ø¢ÙØ±ÛÙ_Ù Ù_ÚÙØ¦Ù_ÚÙØ¦ÛÙ_Ø§ÙØª_سپتا٠بر_اکتبر_ÙÙØ§Ù بر_دسا٠بر'.split('_'), 7551 weekdays : 'ÛÚ©\u200cØ´ÙØ¨Ù_Ø¯ÙØ´ÙبÙ_سÙ\u200cØ´ÙØ¨Ù_ÚÙØ§Ø±Ø´ÙبÙ_Ù¾ÙØ¬\u200cØ´ÙØ¨Ù_ج٠عÙ_Ø´ÙØ¨Ù'.split('_'), 7552 weekdaysShort : 'ÛÚ©\u200cØ´ÙØ¨Ù_Ø¯ÙØ´ÙبÙ_سÙ\u200cØ´ÙØ¨Ù_ÚÙØ§Ø±Ø´ÙبÙ_Ù¾ÙØ¬\u200cØ´ÙØ¨Ù_ج٠عÙ_Ø´ÙØ¨Ù'.split('_'), 7553 weekdaysMin : 'Û_د_س_Ú_Ù¾_ج_Ø´'.split('_'), 7554 weekdaysParseExact : true, 7555 longDateFormat : { 7556 LT : 'HH:mm', 7557 LTS : 'HH:mm:ss', 7558 L : 'DD/MM/YYYY', 7559 LL : 'D MMMM YYYY', 7560 LLL : 'D MMMM YYYY HH:mm', 7561 LLLL : 'dddd, D MMMM YYYY HH:mm' 7562 }, 7563 meridiemParse: /ÙØ¨Ù از Ø¸ÙØ±|بعد از Ø¸ÙØ±/, 7564 isPM: function (input) { 7565 return /بعد از Ø¸ÙØ±/.test(input); 7566 }, 7567 meridiem : function (hour, minute, isLower) { 7568 if (hour < 12) { 7569 return 'ÙØ¨Ù از Ø¸ÙØ±'; 7570 } else { 7571 return 'بعد از Ø¸ÙØ±'; 7572 } 7573 }, 7574 calendar : { 7575 sameDay : '[Ø§Ù Ø±ÙØ² ساعت] LT', 7576 nextDay : '[ÙØ±Ø¯Ø§ ساعت] LT', 7577 nextWeek : 'dddd [ساعت] LT', 7578 lastDay : '[Ø¯ÛØ±Ùز ساعت] LT', 7579 lastWeek : 'dddd [Ù¾ÛØ´] [ساعت] LT', 7580 sameElse : 'L' 7581 }, 7582 relativeTime : { 7583 future : 'در %s', 7584 past : '%s Ù¾ÛØ´', 7585 s : 'ÚÙØ¯ ثاÙÛÙ', 7586 ss : 'ثاÙÛÙ d%', 7587 m : 'ÛÚ© دÙÛÙÙ', 7588 mm : '%d دÙÛÙÙ', 7589 h : 'ÛÚ© ساعت', 7590 hh : '%d ساعت', 7591 d : 'ÛÚ© Ø±ÙØ²', 7592 dd : '%d Ø±ÙØ²', 7593 M : 'ÛÚ© ٠اÙ', 7594 MM : '%d ٠اÙ', 7595 y : 'ÛÚ© ساÙ', 7596 yy : '%d ساÙ' 7597 }, 7598 preparse: function (string) { 7599 return string.replace(/[Û°-Û¹]/g, function (match) { 7600 return numberMap$4[match]; 7601 }).replace(/Ø/g, ','); 7602 }, 7603 postformat: function (string) { 7604 return string.replace(/\d/g, function (match) { 7605 return symbolMap$5[match]; 7606 }).replace(/,/g, 'Ø'); 7607 }, 7608 dayOfMonthOrdinalParse: /\d{1,2}Ù /, 7609 ordinal : '%dÙ ', 7610 week : { 7611 dow : 6, // Saturday is the first day of the week. 7612 doy : 12 // The week that contains Jan 12th is the first week of the year. 7613 } 7614 }); 7615 7616 //! moment.js locale configuration 7617 7618 var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '), 7619 numbersFuture = [ 7620 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', 7621 numbersPast[7], numbersPast[8], numbersPast[9] 7622 ]; 7623 function translate$2(number, withoutSuffix, key, isFuture) { 7624 var result = ''; 7625 switch (key) { 7626 case 's': 7627 return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; 7628 case 'ss': 7629 return isFuture ? 'sekunnin' : 'sekuntia'; 7630 case 'm': 7631 return isFuture ? 'minuutin' : 'minuutti'; 7632 case 'mm': 7633 result = isFuture ? 'minuutin' : 'minuuttia'; 7634 break; 7635 case 'h': 7636 return isFuture ? 'tunnin' : 'tunti'; 7637 case 'hh': 7638 result = isFuture ? 'tunnin' : 'tuntia'; 7639 break; 7640 case 'd': 7641 return isFuture ? 'päivän' : 'päivä'; 7642 case 'dd': 7643 result = isFuture ? 'päivän' : 'päivää'; 7644 break; 7645 case 'M': 7646 return isFuture ? 'kuukauden' : 'kuukausi'; 7647 case 'MM': 7648 result = isFuture ? 'kuukauden' : 'kuukautta'; 7649 break; 7650 case 'y': 7651 return isFuture ? 'vuoden' : 'vuosi'; 7652 case 'yy': 7653 result = isFuture ? 'vuoden' : 'vuotta'; 7654 break; 7655 } 7656 result = verbalNumber(number, isFuture) + ' ' + result; 7657 return result; 7658 } 7659 function verbalNumber(number, isFuture) { 7660 return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number; 7661 } 7662 7663 hooks.defineLocale('fi', { 7664 months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), 7665 monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), 7666 weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), 7667 weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'), 7668 weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'), 7669 longDateFormat : { 7670 LT : 'HH.mm', 7671 LTS : 'HH.mm.ss', 7672 L : 'DD.MM.YYYY', 7673 LL : 'Do MMMM[ta] YYYY', 7674 LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm', 7675 LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', 7676 l : 'D.M.YYYY', 7677 ll : 'Do MMM YYYY', 7678 lll : 'Do MMM YYYY, [klo] HH.mm', 7679 llll : 'ddd, Do MMM YYYY, [klo] HH.mm' 7680 }, 7681 calendar : { 7682 sameDay : '[tänään] [klo] LT', 7683 nextDay : '[huomenna] [klo] LT', 7684 nextWeek : 'dddd [klo] LT', 7685 lastDay : '[eilen] [klo] LT', 7686 lastWeek : '[viime] dddd[na] [klo] LT', 7687 sameElse : 'L' 7688 }, 7689 relativeTime : { 7690 future : '%s päästä', 7691 past : '%s sitten', 7692 s : translate$2, 7693 ss : translate$2, 7694 m : translate$2, 7695 mm : translate$2, 7696 h : translate$2, 7697 hh : translate$2, 7698 d : translate$2, 7699 dd : translate$2, 7700 M : translate$2, 7701 MM : translate$2, 7702 y : translate$2, 7703 yy : translate$2 7704 }, 7705 dayOfMonthOrdinalParse: /\d{1,2}\./, 7706 ordinal : '%d.', 7707 week : { 7708 dow : 1, // Monday is the first day of the week. 7709 doy : 4 // The week that contains Jan 4th is the first week of the year. 7710 } 7711 }); 7712 7713 //! moment.js locale configuration 7714 7715 hooks.defineLocale('fo', { 7716 months : 'januar_februar_mars_aprÃl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 7717 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 7718 weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_frÃggjadagur_leygardagur'.split('_'), 7719 weekdaysShort : 'sun_mán_týs_mik_hós_frÃ_ley'.split('_'), 7720 weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'), 7721 longDateFormat : { 7722 LT : 'HH:mm', 7723 LTS : 'HH:mm:ss', 7724 L : 'DD/MM/YYYY', 7725 LL : 'D MMMM YYYY', 7726 LLL : 'D MMMM YYYY HH:mm', 7727 LLLL : 'dddd D. MMMM, YYYY HH:mm' 7728 }, 7729 calendar : { 7730 sameDay : '[à dag kl.] LT', 7731 nextDay : '[à morgin kl.] LT', 7732 nextWeek : 'dddd [kl.] LT', 7733 lastDay : '[à gjár kl.] LT', 7734 lastWeek : '[sÃðstu] dddd [kl] LT', 7735 sameElse : 'L' 7736 }, 7737 relativeTime : { 7738 future : 'um %s', 7739 past : '%s sÃðani', 7740 s : 'fá sekund', 7741 ss : '%d sekundir', 7742 m : 'ein minuttur', 7743 mm : '%d minuttir', 7744 h : 'ein tÃmi', 7745 hh : '%d tÃmar', 7746 d : 'ein dagur', 7747 dd : '%d dagar', 7748 M : 'ein mánaður', 7749 MM : '%d mánaðir', 7750 y : 'eitt ár', 7751 yy : '%d ár' 7752 }, 7753 dayOfMonthOrdinalParse: /\d{1,2}\./, 7754 ordinal : '%d.', 7755 week : { 7756 dow : 1, // Monday is the first day of the week. 7757 doy : 4 // The week that contains Jan 4th is the first week of the year. 7758 } 7759 }); 7760 7761 //! moment.js locale configuration 7762 7763 hooks.defineLocale('fr-ca', { 7764 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), 7765 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), 7766 monthsParseExact : true, 7767 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 7768 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 7769 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), 7770 weekdaysParseExact : true, 7771 longDateFormat : { 7772 LT : 'HH:mm', 7773 LTS : 'HH:mm:ss', 7774 L : 'YYYY-MM-DD', 7775 LL : 'D MMMM YYYY', 7776 LLL : 'D MMMM YYYY HH:mm', 7777 LLLL : 'dddd D MMMM YYYY HH:mm' 7778 }, 7779 calendar : { 7780 sameDay : '[Aujourdâhui à ] LT', 7781 nextDay : '[Demain à ] LT', 7782 nextWeek : 'dddd [à ] LT', 7783 lastDay : '[Hier à ] LT', 7784 lastWeek : 'dddd [dernier à ] LT', 7785 sameElse : 'L' 7786 }, 7787 relativeTime : { 7788 future : 'dans %s', 7789 past : 'il y a %s', 7790 s : 'quelques secondes', 7791 ss : '%d secondes', 7792 m : 'une minute', 7793 mm : '%d minutes', 7794 h : 'une heure', 7795 hh : '%d heures', 7796 d : 'un jour', 7797 dd : '%d jours', 7798 M : 'un mois', 7799 MM : '%d mois', 7800 y : 'un an', 7801 yy : '%d ans' 7802 }, 7803 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, 7804 ordinal : function (number, period) { 7805 switch (period) { 7806 // Words with masculine grammatical gender: mois, trimestre, jour 7807 default: 7808 case 'M': 7809 case 'Q': 7810 case 'D': 7811 case 'DDD': 7812 case 'd': 7813 return number + (number === 1 ? 'er' : 'e'); 7814 7815 // Words with feminine grammatical gender: semaine 7816 case 'w': 7817 case 'W': 7818 return number + (number === 1 ? 're' : 'e'); 7819 } 7820 } 7821 }); 7822 7823 //! moment.js locale configuration 7824 7825 hooks.defineLocale('fr-ch', { 7826 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), 7827 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), 7828 monthsParseExact : true, 7829 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 7830 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 7831 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), 7832 weekdaysParseExact : true, 7833 longDateFormat : { 7834 LT : 'HH:mm', 7835 LTS : 'HH:mm:ss', 7836 L : 'DD.MM.YYYY', 7837 LL : 'D MMMM YYYY', 7838 LLL : 'D MMMM YYYY HH:mm', 7839 LLLL : 'dddd D MMMM YYYY HH:mm' 7840 }, 7841 calendar : { 7842 sameDay : '[Aujourdâhui à ] LT', 7843 nextDay : '[Demain à ] LT', 7844 nextWeek : 'dddd [à ] LT', 7845 lastDay : '[Hier à ] LT', 7846 lastWeek : 'dddd [dernier à ] LT', 7847 sameElse : 'L' 7848 }, 7849 relativeTime : { 7850 future : 'dans %s', 7851 past : 'il y a %s', 7852 s : 'quelques secondes', 7853 ss : '%d secondes', 7854 m : 'une minute', 7855 mm : '%d minutes', 7856 h : 'une heure', 7857 hh : '%d heures', 7858 d : 'un jour', 7859 dd : '%d jours', 7860 M : 'un mois', 7861 MM : '%d mois', 7862 y : 'un an', 7863 yy : '%d ans' 7864 }, 7865 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, 7866 ordinal : function (number, period) { 7867 switch (period) { 7868 // Words with masculine grammatical gender: mois, trimestre, jour 7869 default: 7870 case 'M': 7871 case 'Q': 7872 case 'D': 7873 case 'DDD': 7874 case 'd': 7875 return number + (number === 1 ? 'er' : 'e'); 7876 7877 // Words with feminine grammatical gender: semaine 7878 case 'w': 7879 case 'W': 7880 return number + (number === 1 ? 're' : 'e'); 7881 } 7882 }, 7883 week : { 7884 dow : 1, // Monday is the first day of the week. 7885 doy : 4 // The week that contains Jan 4th is the first week of the year. 7886 } 7887 }); 7888 7889 //! moment.js locale configuration 7890 7891 hooks.defineLocale('fr', { 7892 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), 7893 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), 7894 monthsParseExact : true, 7895 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 7896 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 7897 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), 7898 weekdaysParseExact : true, 7899 longDateFormat : { 7900 LT : 'HH:mm', 7901 LTS : 'HH:mm:ss', 7902 L : 'DD/MM/YYYY', 7903 LL : 'D MMMM YYYY', 7904 LLL : 'D MMMM YYYY HH:mm', 7905 LLLL : 'dddd D MMMM YYYY HH:mm' 7906 }, 7907 calendar : { 7908 sameDay : '[Aujourdâhui à ] LT', 7909 nextDay : '[Demain à ] LT', 7910 nextWeek : 'dddd [à ] LT', 7911 lastDay : '[Hier à ] LT', 7912 lastWeek : 'dddd [dernier à ] LT', 7913 sameElse : 'L' 7914 }, 7915 relativeTime : { 7916 future : 'dans %s', 7917 past : 'il y a %s', 7918 s : 'quelques secondes', 7919 ss : '%d secondes', 7920 m : 'une minute', 7921 mm : '%d minutes', 7922 h : 'une heure', 7923 hh : '%d heures', 7924 d : 'un jour', 7925 dd : '%d jours', 7926 M : 'un mois', 7927 MM : '%d mois', 7928 y : 'un an', 7929 yy : '%d ans' 7930 }, 7931 dayOfMonthOrdinalParse: /\d{1,2}(er|)/, 7932 ordinal : function (number, period) { 7933 switch (period) { 7934 // TODO: Return 'e' when day of month > 1. Move this case inside 7935 // block for masculine words below. 7936 // See https://github.com/moment/moment/issues/3375 7937 case 'D': 7938 return number + (number === 1 ? 'er' : ''); 7939 7940 // Words with masculine grammatical gender: mois, trimestre, jour 7941 default: 7942 case 'M': 7943 case 'Q': 7944 case 'DDD': 7945 case 'd': 7946 return number + (number === 1 ? 'er' : 'e'); 7947 7948 // Words with feminine grammatical gender: semaine 7949 case 'w': 7950 case 'W': 7951 return number + (number === 1 ? 're' : 'e'); 7952 } 7953 }, 7954 week : { 7955 dow : 1, // Monday is the first day of the week. 7956 doy : 4 // The week that contains Jan 4th is the first week of the year. 7957 } 7958 }); 7959 7960 //! moment.js locale configuration 7961 7962 var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), 7963 monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); 7964 7965 hooks.defineLocale('fy', { 7966 months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), 7967 monthsShort : function (m, format) { 7968 if (!m) { 7969 return monthsShortWithDots; 7970 } else if (/-MMM-/.test(format)) { 7971 return monthsShortWithoutDots[m.month()]; 7972 } else { 7973 return monthsShortWithDots[m.month()]; 7974 } 7975 }, 7976 monthsParseExact : true, 7977 weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), 7978 weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'), 7979 weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), 7980 weekdaysParseExact : true, 7981 longDateFormat : { 7982 LT : 'HH:mm', 7983 LTS : 'HH:mm:ss', 7984 L : 'DD-MM-YYYY', 7985 LL : 'D MMMM YYYY', 7986 LLL : 'D MMMM YYYY HH:mm', 7987 LLLL : 'dddd D MMMM YYYY HH:mm' 7988 }, 7989 calendar : { 7990 sameDay: '[hjoed om] LT', 7991 nextDay: '[moarn om] LT', 7992
7992 nextWeek: 'dddd [om] LT', 7993 lastDay: '[juster om] LT', 7994 lastWeek: '[ôfrûne] dddd [om] LT', 7995 sameElse: 'L' 7996 }, 7997 relativeTime : { 7998 future : 'oer %s', 7999 past : '%s lyn', 8000 s : 'in pear sekonden', 8001 ss : '%d sekonden', 8002 m : 'ien minút', 8003 mm : '%d minuten', 8004 h : 'ien oere', 8005 hh : '%d oeren', 8006 d : 'ien dei', 8007 dd : '%d dagen', 8008 M : 'ien moanne', 8009 MM : '%d moannen', 8010 y : 'ien jier', 8011 yy : '%d jierren' 8012 }, 8013 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 8014 ordinal : function (number) { 8015 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); 8016 }, 8017 week : { 8018 dow : 1, // Monday is the first day of the week. 8019 doy : 4 // The week that contains Jan 4th is the first week of the year. 8020 } 8021 }); 8022 8023 //! moment.js locale configuration 8024 8025 8026 var months$5 = [ 8027 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig' 8028 ]; 8029 8030 var monthsShort$4 = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll']; 8031 8032 var weekdays$1 = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn']; 8033 8034 var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat']; 8035 8036 var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa']; 8037 8038 hooks.defineLocale('ga', { 8039 months: months$5, 8040 monthsShort: monthsShort$4, 8041 monthsParseExact: true, 8042 weekdays: weekdays$1, 8043 weekdaysShort: weekdaysShort, 8044 weekdaysMin: weekdaysMin, 8045 longDateFormat: { 8046 LT: 'HH:mm', 8047 LTS: 'HH:mm:ss', 8048 L: 'DD/MM/YYYY', 8049 LL: 'D MMMM YYYY', 8050 LLL: 'D MMMM YYYY HH:mm', 8051 LLLL: 'dddd, D MMMM YYYY HH:mm' 8052 }, 8053 calendar: { 8054 sameDay: '[Inniu ag] LT', 8055 nextDay: '[Amárach ag] LT', 8056 nextWeek: 'dddd [ag] LT', 8057 lastDay: '[Inné aig] LT', 8058 lastWeek: 'dddd [seo caite] [ag] LT', 8059 sameElse: 'L' 8060 }, 8061 relativeTime: { 8062 future: 'i %s', 8063 past: '%s ó shin', 8064 s: 'cúpla soicind', 8065 ss: '%d soicind', 8066 m: 'nóiméad', 8067 mm: '%d nóiméad', 8068 h: 'uair an chloig', 8069 hh: '%d uair an chloig', 8070 d: 'lá', 8071 dd: '%d lá', 8072 M: 'mÃ', 8073 MM: '%d mÃ', 8074 y: 'bliain', 8075 yy: '%d bliain' 8076 }, 8077 dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, 8078 ordinal: function (number) { 8079 var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; 8080 return number + output; 8081 }, 8082 week: { 8083 dow: 1, // Monday is the first day of the week. 8084 doy: 4 // The week that contains Jan 4th is the first week of the year. 8085 } 8086 }); 8087 8088 //! moment.js locale configuration 8089 8090 var months$6 = [ 8091 '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' 8092 ]; 8093 8094 var monthsShort$5 = ['Faoi', 'Gear', 'Mà rt', 'Gibl', 'Cèit', 'Ãgmh', 'Iuch', 'Lùn', 'Sult', 'Dà mh', 'Samh', 'Dùbh']; 8095 8096 var weekdays$2 = ['Didòmhnaich', 'Diluain', 'Dimà irt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne']; 8097 8098 var weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis']; 8099 8100 var weekdaysMin$1 = ['Dò', 'Lu', 'Mà ', 'Ci', 'Ar', 'Ha', 'Sa']; 8101 8102 hooks.defineLocale('gd', { 8103 months : months$6, 8104 monthsShort : monthsShort$5, 8105 monthsParseExact : true, 8106 weekdays : weekdays$2, 8107 weekdaysShort : weekdaysShort$1, 8108 weekdaysMin : weekdaysMin$1, 8109 longDateFormat : { 8110 LT : 'HH:mm', 8111 LTS : 'HH:mm:ss', 8112 L : 'DD/MM/YYYY', 8113 LL : 'D MMMM YYYY', 8114 LLL : 'D MMMM YYYY HH:mm', 8115 LLLL : 'dddd, D MMMM YYYY HH:mm' 8116 }, 8117 calendar : { 8118 sameDay : '[An-diugh aig] LT', 8119 nextDay : '[A-mà ireach aig] LT', 8120 nextWeek : 'dddd [aig] LT',
vendor: 112,567 bytes, lines 8121-11071
8121 lastDay : '[An-dè aig] LT', 8122 lastWeek : 'dddd [seo chaidh] [aig] LT', 8123 sameElse : 'L' 8124 }, 8125 relativeTime : { 8126 future : 'ann an %s', 8127 past : 'bho chionn %s', 8128 s : 'beagan diogan', 8129 ss : '%d diogan', 8130 m : 'mionaid', 8131 mm : '%d mionaidean', 8132 h : 'uair', 8133 hh : '%d uairean', 8134 d : 'latha', 8135 dd : '%d latha', 8136 M : 'mìos', 8137 MM : '%d mìosan', 8138 y : 'bliadhna', 8139 yy : '%d bliadhna' 8140 }, 8141 dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/, 8142 ordinal : function (number) { 8143 var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; 8144 return number + output; 8145 }, 8146 week : { 8147 dow : 1, // Monday is the first day of the week. 8148 doy : 4 // The week that contains Jan 4th is the first week of the year. 8149 } 8150 }); 8151 8152 //! moment.js locale configuration 8153 8154 hooks.defineLocale('gl', { 8155 months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), 8156 monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), 8157 monthsParseExact: true, 8158 weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), 8159 weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), 8160 weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'), 8161 weekdaysParseExact : true, 8162 longDateFormat : { 8163 LT : 'H:mm', 8164 LTS : 'H:mm:ss', 8165 L : 'DD/MM/YYYY', 8166 LL : 'D [de] MMMM [de] YYYY', 8167 LLL : 'D [de] MMMM [de] YYYY H:mm', 8168 LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' 8169 }, 8170 calendar : { 8171 sameDay : function () { 8172 return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; 8173 }, 8174 nextDay : function () { 8175 return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; 8176 }, 8177 nextWeek : function () { 8178 return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; 8179 }, 8180 lastDay : function () { 8181 return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; 8182 }, 8183 lastWeek : function () { 8184 return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; 8185 }, 8186 sameElse : 'L' 8187 }, 8188 relativeTime : { 8189 future : function (str) { 8190 if (str.indexOf('un') === 0) { 8191 return 'n' + str; 8192 } 8193 return 'en ' + str; 8194 }, 8195 past : 'hai %s', 8196 s : 'uns segundos', 8197 ss : '%d segundos', 8198 m : 'un minuto', 8199 mm : '%d minutos', 8200 h : 'unha hora', 8201 hh : '%d horas', 8202 d : 'un dÃa', 8203 dd : '%d dÃas', 8204 M : 'un mes', 8205 MM : '%d meses', 8206 y : 'un ano', 8207 yy : '%d anos' 8208 }, 8209 dayOfMonthOrdinalParse : /\d{1,2}º/, 8210 ordinal : '%dº', 8211 week : { 8212 dow : 1, // Monday is the first day of the week. 8213 doy : 4 // The week that contains Jan 4th is the first week of the year. 8214 } 8215 }); 8216 8217 //! moment.js locale configuration 8218 8219 function processRelativeTime$4(number, withoutSuffix, key, isFuture) { 8220 var format = { 8221 's': ['thodde secondanim', 'thodde second'], 8222 'ss': [number + ' secondanim', number + ' second'], 8223 'm': ['eka mintan', 'ek minute'], 8224 'mm': [number + ' mintanim', number + ' mintam'], 8225 'h': ['eka voran', 'ek vor'], 8226 'hh': [number + ' voranim', number + ' voram'], 8227 'd': ['eka disan', 'ek dis'], 8228 'dd': [number + ' disanim', number + ' dis'], 8229 'M': ['eka mhoinean', 'ek mhoino'], 8230 'MM': [number + ' mhoineanim', number + ' mhoine'], 8231 'y': ['eka vorsan', 'ek voros'], 8232 'yy': [number + ' vorsanim', number + ' vorsam'] 8233 }; 8234 return withoutSuffix ? format[key][0] : format[key][1]; 8235 } 8236 8237 hooks.defineLocale('gom-latn', { 8238 months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'), 8239 monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'), 8240 monthsParseExact : true, 8241 weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'), 8242 weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), 8243 weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), 8244 weekdaysParseExact : true, 8245 longDateFormat : { 8246 LT : 'A h:mm [vazta]', 8247 LTS : 'A h:mm:ss [vazta]', 8248 L : 'DD-MM-YYYY', 8249 LL : 'D MMMM YYYY', 8250 LLL : 'D MMMM YYYY A h:mm [vazta]', 8251 LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]', 8252 llll: 'ddd, D MMM YYYY, A h:mm [vazta]' 8253 }, 8254 calendar : { 8255 sameDay: '[Aiz] LT', 8256 nextDay: '[Faleam] LT', 8257 nextWeek: '[Ieta to] dddd[,] LT', 8258 lastDay: '[Kal] LT', 8259 lastWeek: '[Fatlo] dddd[,] LT', 8260 sameElse: 'L' 8261 }, 8262 relativeTime : { 8263 future : '%s', 8264 past : '%s adim', 8265 s : processRelativeTime$4, 8266 ss : processRelativeTime$4, 8267 m : processRelativeTime$4, 8268 mm : processRelativeTime$4, 8269 h : processRelativeTime$4, 8270 hh : processRelativeTime$4, 8271 d : processRelativeTime$4, 8272 dd : processRelativeTime$4, 8273 M : processRelativeTime$4, 8274 MM : processRelativeTime$4, 8275 y : processRelativeTime$4, 8276 yy : processRelativeTime$4 8277 }, 8278 dayOfMonthOrdinalParse : /\d{1,2}(er)/, 8279 ordinal : function (number, period) { 8280 switch (period) { 8281 // the ordinal 'er' only applies to day of the month 8282 case 'D': 8283 return number + 'er'; 8284 default: 8285 case 'M': 8286 case 'Q': 8287 case 'DDD': 8288 case 'd': 8289 case 'w': 8290 case 'W': 8291 return number; 8292 } 8293 }, 8294 week : { 8295 dow : 1, // Monday is the first day of the week. 8296 doy : 4 // The week that contains Jan 4th is the first week of the year. 8297 }, 8298 meridiemParse: /rati|sokalli|donparam|sanje/, 8299 meridiemHour : function (hour, meridiem) { 8300 if (hour === 12) { 8301 hour = 0; 8302 } 8303 if (meridiem === 'rati') { 8304 return hour < 4 ? hour : hour + 12; 8305 } else if (meridiem === 'sokalli') { 8306 return hour; 8307 } else if (meridiem === 'donparam') { 8308 return hour > 12 ? hour : hour + 12; 8309 } else if (meridiem === 'sanje') { 8310 return hour + 12; 8311 } 8312 }, 8313 meridiem : function (hour, minute, isLower) { 8314 if (hour < 4) { 8315 return 'rati'; 8316 } else if (hour < 12) { 8317 return 'sokalli'; 8318 } else if (hour < 16) { 8319 return 'donparam'; 8320 } else if (hour < 20) { 8321 return 'sanje'; 8322 } else { 8323 return 'rati'; 8324 } 8325 } 8326 }); 8327 8328 //! moment.js locale configuration 8329 8330 var symbolMap$6 = { 8331 '1': 'à«§', 8332 '2': '૨', 8333 '3': 'à«©', 8334 '4': '૪', 8335 '5': 'à««', 8336 '6': '૬', 8337 '7': 'à«', 8338 '8': 'à«®', 8339 '9': '૯', 8340 '0': '૦' 8341 }, 8342 numberMap$5 = { 8343 'à«§': '1', 8344 '૨': '2', 8345 'à«©': '3', 8346 '૪': '4', 8347 'à««': '5', 8348 '૬': '6', 8349 'à«': '7', 8350 'à«®': '8', 8351 '૯': '9', 8352 '૦': '0' 8353 }; 8354 8355 hooks.defineLocale('gu', { 8356 months: 'àªàª¾àª¨à«àª¯à«àªàª°à«_ફà«àª¬à«àª°à«àªàª°à«_મારà«àª_àªàªªà«àª°àª¿àª²_મà«_àªà«àª¨_àªà«àª²àª¾àª_àªàªàª¸à«àª_સપà«àªà«àª®à«àª¬àª°_àªàªà«àªà«àª¬àª°_નવà«àª®à«àª¬àª°_ડિસà«àª®à«àª¬àª°'.split('_'), 8357 monthsShort: 'àªàª¾àª¨à«àª¯à«._ફà«àª¬à«àª°à«._મારà«àª_àªàªªà«àª°àª¿._મà«_àªà«àª¨_àªà«àª²àª¾._àªàª._સપà«àªà«._àªàªà«àªà«._નવà«._ડિસà«.'.split('_'), 8358 monthsParseExact: true, 8359 weekdays: 'રવિવાર_સà«àª®àªµàª¾àª°_મàªàªàª³àªµàª¾àª°_બà«àª§à«àªµàª¾àª°_àªà«àª°à«àªµàª¾àª°_શà«àªà«àª°àªµàª¾àª°_શનિવાર'.split('_'), 8360 weekdaysShort: 'રવિ_સà«àª®_મàªàªàª³_બà«àª§à«_àªà«àª°à«_શà«àªà«àª°_શનિ'.split('_'), 8361 weekdaysMin: 'ર_સà«_મàª_બà«_àªà«_શà«_શ'.split('_'), 8362 longDateFormat: { 8363 LT: 'A h:mm વાàªà«àª¯à«', 8364 LTS: 'A h:mm:ss વાàªà«àª¯à«', 8365 L: 'DD/MM/YYYY', 8366 LL: 'D MMMM YYYY', 8367 LLL: 'D MMMM YYYY, A h:mm વાàªà«àª¯à«', 8368 LLLL: 'dddd, D MMMM YYYY, A h:mm વાàªà«àª¯à«' 8369 }, 8370 calendar: { 8371 sameDay: '[àªàª] LT', 8372 nextDay: '[àªàª¾àª²à«] LT', 8373 nextWeek: 'dddd, LT', 8374 lastDay: '[àªàªàªàª¾àª²à«] LT', 8375 lastWeek: '[પાàªàª²àª¾] dddd, LT', 8376 sameElse: 'L' 8377 }, 8378 relativeTime: { 8379 future: '%s મા', 8380 past: '%s પà«àª¹àª²àª¾', 8381 s: 'ઠમà«àª પળà«', 8382 ss: '%d સà«àªàªàª¡', 8383 m: 'àªàª મિનિàª', 8384 mm: '%d મિનિàª', 8385 h: 'àªàª àªàª²àª¾àª', 8386 hh: '%d àªàª²àª¾àª', 8387 d: 'àªàª દિવસ', 8388 dd: '%d દિવસ', 8389 M: 'àªàª મહિનà«', 8390 MM: '%d મહિનà«', 8391 y: 'àªàª વરà«àª·', 8392 yy: '%d વરà«àª·' 8393 }, 8394 preparse: function (string) { 8395 return string.replace(/[૧૨૩૪૫૬à«à«®à«¯à«¦]/g, function (match) { 8396 return numberMap$5[match]; 8397 }); 8398 }, 8399 postformat: function (string) { 8400 return string.replace(/\d/g, function (match) { 8401 return symbolMap$6[match]; 8402 }); 8403 }, 8404 // Gujarati notation for meridiems are quite fuzzy in practice. While there exists 8405 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. 8406 meridiemParse: /રાત|બપà«àª°|સવાર|સાàªàª/, 8407 meridiemHour: function (hour, meridiem) { 8408 if (hour === 12) { 8409 hour = 0; 8410 } 8411 if (meridiem === 'રાત') { 8412 return hour < 4 ? hour : hour + 12; 8413 } else if (meridiem === 'સવાર') { 8414 return hour; 8415 } else if (meridiem === 'બપà«àª°') { 8416 return hour >= 10 ? hour : hour + 12; 8417 } else if (meridiem === 'સાàªàª') { 8418 return hour + 12; 8419 } 8420 }, 8421 meridiem: function (hour, minute, isLower) { 8422 if (hour < 4) { 8423 return 'રાત'; 8424 } else if (hour < 10) { 8425 return 'સવાર'; 8426 } else if (hour < 17) { 8427 return 'બપà«àª°'; 8428 } else if (hour < 20) { 8429 return 'સાàªàª'; 8430 } else { 8431 return 'રાત'; 8432 } 8433 }, 8434 week: { 8435 dow: 0, // Sunday is the first day of the week. 8436 doy: 6 // The week that contains Jan 6th is the first week of the year. 8437 } 8438 }); 8439 8440 //! moment.js locale configuration 8441 8442 hooks.defineLocale('he', { 8443 months : '×× ××ר_פ×ר××ר_×רץ_×פר××_×××_××× ×_××××_××××ס×_ספ×××ר_×××§×××ר_× ××××ר_×צ××ר'.split('_'), 8444 monthsShort : '×× ×׳_פ×ר׳_×רץ_×פר׳_×××_××× ×_××××_×××׳_ספ×׳_××ק׳_× ××׳_×צ×׳'.split('_'), 8445 weekdays : 'ר×ש××_×©× ×_ש××ש×_ר×××¢×_×××ש×_ש×ש×_ש×ת'.split('_'), 8446 weekdaysShort : '×׳_×׳_×׳_×׳_×׳_×׳_ש׳'.split('_'), 8447 weekdaysMin : '×_×_×_×_×_×_ש'.split('_'), 8448 longDateFormat : { 8449 LT : 'HH:mm', 8450 LTS : 'HH:mm:ss', 8451 L : 'DD/MM/YYYY', 8452 LL : 'D [×]MMMM YYYY', 8453 LLL : 'D [×]MMMM YYYY HH:mm', 8454 LLLL : 'dddd, D [×]MMMM YYYY HH:mm', 8455 l : 'D/M/YYYY', 8456 ll : 'D MMM YYYY', 8457 lll : 'D MMM YYYY HH:mm', 8458 llll : 'ddd, D MMM YYYY HH:mm' 8459 }, 8460 calendar : { 8461 sameDay : '[×××× ×Ö¾]LT', 8462 nextDay : '[××ר ×Ö¾]LT', 8463 nextWeek : 'dddd [×שע×] LT', 8464 lastDay : '[×ת××× ×Ö¾]LT', 8465 lastWeek : '[××××] dddd [×××ר×× ×שע×] LT', 8466 sameElse : 'L' 8467 }, 8468 relativeTime : { 8469 future : '××¢×× %s', 8470 past : '××¤× × %s', 8471 s : '×ספר ×©× ××ת', 8472 ss : '%d ×©× ××ת', 8473 m : '××§×', 8474 mm : '%d ××§×ת', 8475 h : 'שע×', 8476 hh : function (number) { 8477 if (number === 2) { 8478 return 'שעת×××'; 8479 } 8480 return number + ' שע×ת'; 8481 }, 8482 d : '×××', 8483 dd : function (number) { 8484 if (number === 2) { 8485 return '××××××'; 8486 } 8487 return number + ' ××××'; 8488 }, 8489 M : '×××ש', 8490 MM : function (number) { 8491 if (number === 2) { 8492 return '×××ש×××'; 8493 } 8494 return number + ' ×××ש××'; 8495 }, 8496 y : '×©× ×', 8497 yy : function (number) { 8498 if (number === 2) { 8499 return '×©× ×ª×××'; 8500 } else if (number % 10 === 0 && number !== 10) { 8501 return number + ' ×©× ×'; 8502 } 8503 return number + ' ×©× ××'; 8504 } 8505 }, 8506 meridiemParse: /×××"צ|××¤× ×"צ|×××¨× ×צ×ר×××|××¤× × ×צ×ר×××|××¤× ×ת ××קר|×××קר|×ער×/i, 8507 isPM : function (input) { 8508 return /^(×××"צ|×××¨× ×צ×ר×××|×ער×)$/.test(input); 8509 }, 8510 meridiem : function (hour, minute, isLower) { 8511 if (hour < 5) { 8512 return '××¤× ×ת ××קר'; 8513 } else if (hour < 10) { 8514 return '×××קר'; 8515 } else if (hour < 12) { 8516 return isLower ? '××¤× ×"צ' : '××¤× × ×צ×ר×××'; 8517 } else if (hour < 18) { 8518 return isLower ? '×××"צ' : '×××¨× ×צ×ר×××'; 8519 } else { 8520 return '×ער×'; 8521 } 8522 } 8523 }); 8524 8525 //! moment.js locale configuration 8526 8527 var symbolMap$7 = { 8528 '1': '१', 8529 '2': '२', 8530 '3': '३', 8531 '4': '४', 8532 '5': '५', 8533 '6': '६', 8534 '7': 'à¥', 8535 '8': '८', 8536 '9': '९', 8537 '0': '०' 8538 }, 8539 numberMap$6 = { 8540 '१': '1', 8541 '२': '2', 8542 '३': '3', 8543 '४': '4', 8544 '५': '5', 8545 '६': '6', 8546 'à¥': '7', 8547 '८': '8', 8548 '९': '9', 8549 '०': '0' 8550 }; 8551 8552 hooks.defineLocale('hi', { 8553 months : 'à¤à¤¨à¤µà¤°à¥_फ़रवरà¥_मारà¥à¤_ठपà¥à¤°à¥à¤²_मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤_ठà¤à¤¸à¥à¤¤_सितमà¥à¤¬à¤°_ठà¤à¥à¤à¥à¤¬à¤°_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split('_'), 8554 monthsShort : 'à¤à¤¨._फ़र._मारà¥à¤_ठपà¥à¤°à¥._मà¤_à¤à¥à¤¨_à¤à¥à¤²._ठà¤._सित._ठà¤à¥à¤à¥._नव._दिस.'.split('_'), 8555 monthsParseExact: true, 8556 weekdays : 'रविवार_सà¥à¤®à¤µà¤¾à¤°_मà¤à¤à¤²à¤µà¤¾à¤°_बà¥à¤§à¤µà¤¾à¤°_à¤à¥à¤°à¥à¤µà¤¾à¤°_शà¥à¤à¥à¤°à¤µà¤¾à¤°_शनिवार'.split('_'), 8557 weekdaysShort : 'रवि_सà¥à¤®_मà¤à¤à¤²_बà¥à¤§_à¤à¥à¤°à¥_शà¥à¤à¥à¤°_शनि'.split('_'), 8558 weekdaysMin : 'र_सà¥_मà¤_बà¥_à¤à¥_शà¥_श'.split('_'), 8559 longDateFormat : { 8560 LT : 'A h:mm बà¤à¥', 8561 LTS : 'A h:mm:ss बà¤à¥', 8562 L : 'DD/MM/YYYY', 8563 LL : 'D MMMM YYYY', 8564 LLL : 'D MMMM YYYY, A h:mm बà¤à¥', 8565 LLLL : 'dddd, D MMMM YYYY, A h:mm बà¤à¥' 8566 }, 8567 calendar : { 8568 sameDay : '[à¤à¤] LT', 8569 nextDay : '[à¤à¤²] LT', 8570 nextWeek : 'dddd, LT', 8571 lastDay : '[à¤à¤²] LT', 8572 lastWeek : '[पिà¤à¤²à¥] dddd, LT', 8573 sameElse : 'L' 8574 }, 8575 relativeTime : { 8576 future : '%s मà¥à¤', 8577 past : '%s पहलà¥', 8578 s : 'à¤à¥à¤ हॠà¤à¥à¤·à¤£', 8579 ss : '%d सà¥à¤à¤à¤¡', 8580 m : 'à¤à¤ मिनà¤', 8581 mm : '%d मिनà¤', 8582 h : 'à¤à¤ à¤à¤à¤à¤¾', 8583 hh : '%d à¤à¤à¤à¥', 8584 d : 'à¤à¤ दिन', 8585 dd : '%d दिन', 8586 M : 'à¤à¤ महà¥à¤¨à¥', 8587 MM : '%d महà¥à¤¨à¥', 8588 y : 'à¤à¤ वरà¥à¤·', 8589 yy : '%d वरà¥à¤·' 8590 }, 8591 preparse: function (string) { 8592 return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { 8593 return numberMap$6[match]; 8594 }); 8595 }, 8596 postformat: function (string) { 8597 return string.replace(/\d/g, function (match) { 8598 return symbolMap$7[match]; 8599 }); 8600 }, 8601 // Hindi notation for meridiems are quite fuzzy in practice. While there exists 8602 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. 8603 meridiemParse: /रात|सà¥à¤¬à¤¹|दà¥à¤ªà¤¹à¤°|शाम/, 8604 meridiemHour : function (hour, meridiem) { 8605 if (hour === 12) { 8606 hour = 0; 8607 } 8608 if (meridiem === 'रात') { 8609 return hour < 4 ? hour : hour + 12; 8610 } else if (meridiem === 'सà¥à¤¬à¤¹') { 8611 return hour; 8612 } else if (meridiem === 'दà¥à¤ªà¤¹à¤°') { 8613 return hour >= 10 ? hour : hour + 12; 8614 } else if (meridiem === 'शाम') { 8615 return hour + 12; 8616 } 8617 }, 8618 meridiem : function (hour, minute, isLower) { 8619 if (hour < 4) { 8620 return 'रात'; 8621 } else if (hour < 10) { 8622 return 'सà¥à¤¬à¤¹'; 8623 } else if (hour < 17) { 8624 return 'दà¥à¤ªà¤¹à¤°'; 8625 } else if (hour < 20) { 8626 return 'शाम'; 8627 } else { 8628 return 'रात'; 8629 } 8630 }, 8631 week : { 8632 dow : 0, // Sunday is the first day of the week. 8633 doy : 6 // The week that contains Jan 6th is the first week of the year. 8634 } 8635 }); 8636 8637 //! moment.js locale configuration 8638 8639 function translate$3(number, withoutSuffix, key) { 8640 var result = number + ' '; 8641 switch (key) { 8642 case 'ss': 8643 if (number === 1) { 8644 result += 'sekunda'; 8645 } else if (number === 2 || number === 3 || number === 4) { 8646 result += 'sekunde'; 8647 } else { 8648 result += 'sekundi'; 8649 } 8650 return result; 8651 case 'm': 8652 return withoutSuffix ? 'jedna minuta' : 'jedne minute'; 8653 case 'mm': 8654 if (number === 1) { 8655 result += 'minuta'; 8656 } else if (number === 2 || number === 3 || number === 4) { 8657 result += 'minute'; 8658 } else { 8659 result += 'minuta'; 8660 } 8661 return result; 8662 case 'h': 8663 return withoutSuffix ? 'jedan sat' : 'jednog sata'; 8664 case 'hh': 8665 if (number === 1) { 8666 result += 'sat'; 8667 } else if (number === 2 || number === 3 || number === 4) { 8668 result += 'sata'; 8669 } else { 8670 result += 'sati'; 8671 } 8672 return result; 8673 case 'dd': 8674 if (number === 1) { 8675 result += 'dan'; 8676 } else { 8677 result += 'dana'; 8678 } 8679 return result; 8680 case 'MM': 8681 if (number === 1) { 8682 result += 'mjesec'; 8683 } else if (number === 2 || number === 3 || number === 4) { 8684 result += 'mjeseca'; 8685 } else { 8686 result += 'mjeseci'; 8687 } 8688 return result; 8689 case 'yy': 8690 if (number === 1) { 8691 result += 'godina'; 8692 } else if (number === 2 || number === 3 || number === 4) { 8693 result += 'godine'; 8694 } else { 8695 result += 'godina'; 8696 } 8697 return result; 8698 } 8699 } 8700 8701 hooks.defineLocale('hr', { 8702 months : { 8703 format: 'sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), 8704 standalone: 'sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') 8705 }, 8706 monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), 8707 monthsParseExact: true, 8708 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), 8709 weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), 8710 weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), 8711 weekdaysParseExact : true, 8712 longDateFormat : { 8713 LT : 'H:mm', 8714 LTS : 'H:mm:ss', 8715 L : 'DD.MM.YYYY', 8716 LL : 'D. MMMM YYYY', 8717 LLL : 'D. MMMM YYYY H:mm', 8718 LLLL : 'dddd, D. MMMM YYYY H:mm' 8719 }, 8720 calendar : { 8721 sameDay : '[danas u] LT', 8722 nextDay : '[sutra u] LT', 8723 nextWeek : function () { 8724 switch (this.day()) { 8725 case 0: 8726 return '[u] [nedjelju] [u] LT'; 8727 case 3: 8728 return '[u] [srijedu] [u] LT'; 8729 case 6: 8730 return '[u] [subotu] [u] LT'; 8731 case 1: 8732 case 2: 8733 case 4: 8734 case 5: 8735 return '[u] dddd [u] LT'; 8736 } 8737 }, 8738 lastDay : '[juÄer u] LT', 8739 lastWeek : function () { 8740 switch (this.day()) { 8741 case 0: 8742 case 3: 8743 return '[proÅ¡lu] dddd [u] LT'; 8744 case 6: 8745 return '[proÅ¡le] [subote] [u] LT'; 8746 case 1: 8747 case 2: 8748 case 4: 8749 case 5: 8750 return '[proÅ¡li] dddd [u] LT'; 8751 } 8752 }, 8753 sameElse : 'L' 8754 }, 8755 relativeTime : { 8756 future : 'za %s', 8757 past : 'prije %s', 8758 s : 'par sekundi', 8759 ss : translate$3, 8760 m : translate$3, 8761 mm : translate$3, 8762 h : translate$3, 8763 hh : translate$3, 8764 d : 'dan', 8765 dd : translate$3, 8766 M : 'mjesec', 8767 MM : translate$3, 8768 y : 'godinu', 8769 yy : translate$3 8770 }, 8771 dayOfMonthOrdinalParse: /\d{1,2}\./, 8772 ordinal : '%d.', 8773 week : { 8774 dow : 1, // Monday is the first day of the week. 8775 doy : 7 // The week that contains Jan 7th is the first week of the year. 8776 } 8777 }); 8778 8779 //! moment.js locale configuration 8780 8781 var weekEndings = 'vasárnap hétfÅn kedden szerdán csütörtökön pénteken szombaton'.split(' '); 8782 function translate$4(number, withoutSuffix, key, isFuture) { 8783 var num = number; 8784 switch (key) { 8785 case 's': 8786 return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce'; 8787 case 'ss': 8788 return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce'; 8789 case 'm': 8790 return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); 8791 case 'mm': 8792 return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); 8793 case 'h': 8794 return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); 8795 case 'hh': 8796 return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); 8797 case 'd': 8798 return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); 8799 case 'dd': 8800 return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); 8801 case 'M': 8802 return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); 8803 case 'MM': 8804 return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); 8805 case 'y': 8806 return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); 8807 case 'yy': 8808 return num + (isFuture || withoutSuffix ? ' év' : ' éve'); 8809 } 8810 return ''; 8811 } 8812 function week(isFuture) { 8813 return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; 8814 } 8815 8816 hooks.defineLocale('hu', { 8817 months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), 8818 monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), 8819 weekdays : 'vasárnap_hétfÅ_kedd_szerda_csütörtök_péntek_szombat'.split('_'), 8820 weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), 8821 weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'), 8822 longDateFormat : { 8823 LT : 'H:mm', 8824 LTS : 'H:mm:ss', 8825 L : 'YYYY.MM.DD.', 8826 LL : 'YYYY. MMMM D.', 8827 LLL : 'YYYY. MMMM D. H:mm', 8828 LLLL : 'YYYY. MMMM D., dddd H:mm' 8829 }, 8830 meridiemParse: /de|du/i, 8831 isPM: function (input) { 8832 return input.charAt(1).toLowerCase() === 'u'; 8833 }, 8834 meridiem : function (hours, minutes, isLower) { 8835 if (hours < 12) { 8836 return isLower === true ? 'de' : 'DE'; 8837 } else { 8838 return isLower === true ? 'du' : 'DU'; 8839 } 8840 }, 8841 calendar : { 8842 sameDay : '[ma] LT[-kor]', 8843 nextDay : '[holnap] LT[-kor]', 8844 nextWeek : function () { 8845 return week.call(this, true); 8846 }, 8847 lastDay : '[tegnap] LT[-kor]', 8848 lastWeek : function () { 8849 return week.call(this, false); 8850 }, 8851 sameElse : 'L' 8852 }, 8853 relativeTime : { 8854 future : '%s múlva', 8855 past : '%s', 8856 s : translate$4, 8857 ss : translate$4, 8858 m : translate$4, 8859 mm : translate$4, 8860 h : translate$4, 8861 hh : translate$4, 8862 d : translate$4, 8863 dd : translate$4, 8864 M : translate$4, 8865 MM : translate$4, 8866 y : translate$4, 8867 yy : translate$4 8868 }, 8869 dayOfMonthOrdinalParse: /\d{1,2}\./, 8870 ordinal : '%d.', 8871 week : { 8872 dow : 1, // Monday is the first day of the week. 8873 doy : 4 // The week that contains Jan 4th is the first week of the year. 8874 } 8875 }); 8876 8877 //! moment.js locale configuration 8878 8879 hooks.defineLocale('hy-am', { 8880 months : { 8881 format: 'Õ°Õ¸ÖÕ¶Õ¾Õ¡ÖÕ«_ÖÕ¥Õ¿ÖÕ¾Õ¡ÖÕ«_Õ´Õ¡ÖÕ¿Õ«_Õ¡ÕºÖÕ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸ÖÕ¶Õ«Õ½Õ«_Õ°Õ¸ÖÕ¬Õ«Õ½Õ«_Ö Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥ÖÕ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥ÖÕ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥ÖÕ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥ÖÕ«'.split('_'), 8882 standalone: 'Õ°Õ¸ÖÕ¶Õ¾Õ¡Ö_ÖÕ¥Õ¿ÖÕ¾Õ¡Ö_Õ´Õ¡ÖÕ¿_Õ¡ÕºÖÕ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸ÖÕ¶Õ«Õ½_Õ°Õ¸ÖÕ¬Õ«Õ½_Ö Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö'.split('_') 8883 }, 8884 monthsShort : 'Õ°Õ¶Õ¾_ÖÕ¿Ö_Õ´ÖÕ¿_Õ¡ÕºÖ_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿'.split('_'), 8885 weekdays : 'Õ¯Õ«ÖÕ¡Õ¯Õ«_Õ¥ÖÕ¯Õ¸ÖÕ·Õ¡Õ¢Õ©Õ«_Õ¥ÖÕ¥ÖÕ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸ÖÕ¥ÖÕ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸ÖÖÕ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©'.split('_'), 8886 weekdaysShort : 'Õ¯ÖÕ¯_Õ¥ÖÕ¯_Õ¥ÖÖ_Õ¹ÖÖ_Õ°Õ¶Õ£_Õ¸ÖÖÕ¢_Õ·Õ¢Õ©'.split('_'), 8887 weekdaysMin : 'Õ¯ÖÕ¯_Õ¥ÖÕ¯_Õ¥ÖÖ_Õ¹ÖÖ_Õ°Õ¶Õ£_Õ¸ÖÖÕ¢_Õ·Õ¢Õ©'.split('_'), 8888 longDateFormat : { 8889 LT : 'HH:mm', 8890 LTS : 'HH:mm:ss', 8891 L : 'DD.MM.YYYY', 8892 LL : 'D MMMM YYYY Õ©.', 8893 LLL : 'D MMMM YYYY Õ©., HH:mm', 8894 LLLL : 'dddd, D MMMM YYYY Õ©., HH:mm' 8895 }, 8896 calendar : { 8897 sameDay: '[Õ¡ÕµÕ½Ö Ö] LT', 8898 nextDay: '[Õ¾Õ¡Õ²Õ¨] LT', 8899 lastDay: '[Õ¥ÖÕ¥Õ¯] LT', 8900 nextWeek: function () { 8901 return 'dddd [Ö ÖÕ¨ ÕªÕ¡Õ´Õ¨] LT'; 8902 }, 8903 lastWeek: function () { 8904 return '[Õ¡Õ¶ÖÕ¡Õ®] dddd [Ö ÖÕ¨ ÕªÕ¡Õ´Õ¨] LT'; 8905 }, 8906 sameElse: 'L' 8907 }, 8908 relativeTime : { 8909 future : '%s Õ°Õ¥Õ¿Õ¸', 8910 past : '%s Õ¡Õ¼Õ¡Õ»', 8911 s : 'Õ´Õ« ÖÕ¡Õ¶Õ« Õ¾Õ¡ÕµÖÕ¯ÕµÕ¡Õ¶', 8912 ss : '%d Õ¾Õ¡ÕµÖÕ¯ÕµÕ¡Õ¶', 8913 m : 'ÖÕ¸ÕºÕ¥', 8914 mm : '%d ÖÕ¸ÕºÕ¥', 8915 h : 'ÕªÕ¡Õ´', 8916 hh : '%d ÕªÕ¡Õ´', 8917 d : 'Ö Ö', 8918 dd : '%d Ö Ö', 8919 M : 'Õ¡Õ´Õ«Õ½', 8920 MM : '%d Õ¡Õ´Õ«Õ½', 8921 y : 'Õ¿Õ¡ÖÕ«', 8922 yy : '%d Õ¿Õ¡ÖÕ«' 8923 }, 8924 meridiemParse: /Õ£Õ«Õ·Õ¥ÖÕ¾Õ¡|Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡|ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡|Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶/, 8925 isPM: function (input) { 8926 return /^(ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡|Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶)$/.test(input); 8927 }, 8928 meridiem : function (hour) { 8929 if (hour < 4) { 8930 return 'Õ£Õ«Õ·Õ¥ÖÕ¾Õ¡'; 8931 } else if (hour < 12) { 8932 return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡'; 8933 } else if (hour < 17) { 8934 return 'ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡'; 8935 } else { 8936 return 'Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶'; 8937 } 8938 }, 8939 dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|ÖÕ¤)/, 8940 ordinal: function (number, period) { 8941 switch (period) { 8942 case 'DDD': 8943 case 'w': 8944 case 'W': 8945 case 'DDDo': 8946 if (number === 1) { 8947 return number + '-Õ«Õ¶'; 8948 } 8949 return number + '-ÖÕ¤'; 8950 default: 8951 return number; 8952 } 8953 }, 8954 week : { 8955 dow : 1, // Monday is the first day of the week. 8956 doy : 7 // The week that contains Jan 7th is the first week of the year. 8957 } 8958 }); 8959 8960 //! moment.js locale configuration 8961 8962 hooks.defineLocale('id', { 8963 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), 8964 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), 8965 weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), 8966 weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), 8967 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), 8968 longDateFormat : { 8969 LT : 'HH.mm', 8970 LTS : 'HH.mm.ss', 8971 L : 'DD/MM/YYYY', 8972 LL : 'D MMMM YYYY', 8973 LLL : 'D MMMM YYYY [pukul] HH.mm', 8974 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' 8975 }, 8976 meridiemParse: /pagi|siang|sore|malam/, 8977 meridiemHour : function (hour, meridiem) { 8978 if (hour === 12) { 8979 hour = 0; 8980 } 8981 if (meridiem === 'pagi') { 8982 return hour; 8983 } else if (meridiem === 'siang') { 8984 return hour >= 11 ? hour : hour + 12; 8985 } else if (meridiem === 'sore' || meridiem === 'malam') { 8986 return hour + 12; 8987 } 8988 }, 8989 meridiem : function (hours, minutes, isLower) { 8990 if (hours < 11) { 8991 return 'pagi'; 8992 } else if (hours < 15) { 8993 return 'siang'; 8994 } else if (hours < 19) { 8995 return 'sore'; 8996 } else { 8997 return 'malam'; 8998 } 8999 }, 9000 calendar : { 9001 sameDay : '[Hari ini pukul] LT', 9002 nextDay : '[Besok pukul] LT', 9003 nextWeek : 'dddd [pukul] LT', 9004 lastDay : '[Kemarin pukul] LT', 9005 lastWeek : 'dddd [lalu pukul] LT', 9006 sameElse : 'L' 9007 }, 9008 relativeTime : { 9009 future : 'dalam %s', 9010 past : '%s yang lalu', 9011 s : 'beberapa detik', 9012 ss : '%d detik', 9013 m : 'semenit', 9014 mm : '%d menit', 9015 h : 'sejam', 9016 hh : '%d jam', 9017 d : 'sehari', 9018 dd : '%d hari', 9019 M : 'sebulan', 9020 MM : '%d bulan', 9021 y : 'setahun', 9022 yy : '%d tahun' 9023 }, 9024 week : { 9025 dow : 1, // Monday is the first day of the week. 9026 doy : 7 // The week that contains Jan 7th is the first week of the year. 9027 } 9028 }); 9029 9030 //! moment.js locale configuration 9031 9032 function plural$2(n) { 9033 if (n % 100 === 11) { 9034 return true; 9035 } else if (n % 10 === 1) { 9036 return false; 9037 } 9038 return true; 9039 } 9040 function translate$5(number, withoutSuffix, key, isFuture) { 9041 var result = number + ' '; 9042 switch (key) { 9043 case 's': 9044 return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; 9045 case 'ss': 9046 if (plural$2(number)) { 9047 return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum'); 9048 } 9049 return result + 'sekúnda'; 9050 case 'm': 9051 return withoutSuffix ? 'mÃnúta' : 'mÃnútu'; 9052 case 'mm': 9053 if (plural$2(number)) { 9054 return result + (withoutSuffix || isFuture ? 'mÃnútur' : 'mÃnútum'); 9055 } else if (withoutSuffix) { 9056 return result + 'mÃnúta'; 9057 } 9058 return result + 'mÃnútu'; 9059 case 'hh': 9060 if (plural$2(number)) { 9061 return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); 9062 } 9063 return result + 'klukkustund'; 9064 case 'd': 9065 if (withoutSuffix) { 9066 return 'dagur'; 9067 } 9068 return isFuture ? 'dag' : 'degi'; 9069 case 'dd': 9070 if (plural$2(number)) { 9071 if (withoutSuffix) { 9072 return result + 'dagar'; 9073 } 9074 return result + (isFuture ? 'daga' : 'dögum'); 9075 } else if (withoutSuffix) { 9076 return result + 'dagur'; 9077 } 9078 return result + (isFuture ? 'dag' : 'degi'); 9079 case 'M': 9080 if (withoutSuffix) { 9081 return 'mánuður'; 9082 } 9083 return isFuture ? 'mánuð' : 'mánuði'; 9084 case 'MM': 9085 if (plural$2(number)) { 9086 if (withoutSuffix) { 9087 return result + 'mánuðir'; 9088 } 9089 return result + (isFuture ? 'mánuði' : 'mánuðum'); 9090 } else if (withoutSuffix) { 9091 return result + 'mánuður'; 9092 } 9093 return result + (isFuture ? 'mánuð' : 'mánuði'); 9094 case 'y': 9095 return withoutSuffix || isFuture ? 'ár' : 'ári'; 9096 case 'yy': 9097 if (plural$2(number)) { 9098 return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); 9099 } 9100 return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); 9101 } 9102 } 9103 9104 hooks.defineLocale('is', { 9105 months : 'janúar_febrúar_mars_aprÃl_maÃ_júnÃ_júlÃ_ágúst_september_október_nóvember_desember'.split('_'), 9106 monthsShort : 'jan_feb_mar_apr_maÃ_jún_júl_ágú_sep_okt_nóv_des'.split('_'), 9107 weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), 9108 weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'), 9109 weekdaysMin : 'Su_Má_Ãr_Mi_Fi_Fö_La'.split('_'), 9110 longDateFormat : { 9111 LT : 'H:mm', 9112 LTS : 'H:mm:ss', 9113 L : 'DD.MM.YYYY', 9114 LL : 'D. MMMM YYYY', 9115 LLL : 'D. MMMM YYYY [kl.] H:mm', 9116 LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm' 9117 }, 9118 calendar : { 9119 sameDay : '[à dag kl.] LT', 9120 nextDay : '[á morgun kl.] LT', 9121 nextWeek : 'dddd [kl.] LT', 9122 lastDay : '[à gær kl.] LT', 9123 lastWeek : '[sÃðasta] dddd [kl.] LT', 9124 sameElse : 'L' 9125 }, 9126 relativeTime : { 9127 future : 'eftir %s', 9128 past : 'fyrir %s sÃðan', 9129 s : translate$5, 9130 ss : translate$5, 9131 m : translate$5, 9132 mm : translate$5, 9133 h : 'klukkustund', 9134 hh : translate$5, 9135 d : translate$5, 9136 dd : translate$5, 9137 M : translate$5, 9138 MM : translate$5, 9139 y : translate$5, 9140 yy : translate$5 9141 }, 9142 dayOfMonthOrdinalParse: /\d{1,2}\./, 9143 ordinal : '%d.', 9144 week : { 9145 dow : 1, // Monday is the first day of the week. 9146 doy : 4 // The week that contains Jan 4th is the first week of the year. 9147 } 9148 }); 9149 9150 //! moment.js locale configuration 9151 9152 hooks.defineLocale('it-ch', { 9153 months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), 9154 monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), 9155 weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), 9156 weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), 9157 weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'), 9158 longDateFormat : { 9159 LT : 'HH:mm', 9160 LTS : 'HH:mm:ss', 9161 L : 'DD.MM.YYYY', 9162 LL : 'D MMMM YYYY', 9163 LLL : 'D MMMM YYYY HH:mm', 9164 LLLL : 'dddd D MMMM YYYY HH:mm' 9165 }, 9166 calendar : { 9167 sameDay: '[Oggi alle] LT', 9168 nextDay: '[Domani alle] LT', 9169 nextWeek: 'dddd [alle] LT', 9170 lastDay: '[Ieri alle] LT', 9171 lastWeek: function () { 9172 switch (this.day()) { 9173 case 0: 9174 return '[la scorsa] dddd [alle] LT'; 9175 default: 9176 return '[lo scorso] dddd [alle] LT'; 9177 } 9178 }, 9179 sameElse: 'L' 9180 }, 9181 relativeTime : { 9182 future : function (s) { 9183 return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; 9184 }, 9185 past : '%s fa', 9186 s : 'alcuni secondi', 9187 ss : '%d secondi', 9188 m : 'un minuto', 9189 mm : '%d minuti', 9190 h : 'un\'ora', 9191 hh : '%d ore', 9192 d : 'un giorno', 9193 dd : '%d giorni', 9194 M : 'un mese', 9195 MM : '%d mesi', 9196 y : 'un anno', 9197 yy : '%d anni' 9198 }, 9199 dayOfMonthOrdinalParse : /\d{1,2}º/, 9200 ordinal: '%dº', 9201 week : { 9202 dow : 1, // Monday is the first day of the week. 9203 doy : 4 // The week that contains Jan 4th is the first week of the year. 9204 } 9205 }); 9206 9207 //! moment.js locale configuration 9208 9209 hooks.defineLocale('it', { 9210 months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), 9211 monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), 9212 weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), 9213 weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), 9214 weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'), 9215 longDateFormat : { 9216 LT : 'HH:mm', 9217 LTS : 'HH:mm:ss', 9218 L : 'DD/MM/YYYY', 9219 LL : 'D MMMM YYYY', 9220 LLL : 'D MMMM YYYY HH:mm', 9221 LLLL : 'dddd D MMMM YYYY HH:mm' 9222 }, 9223 calendar : { 9224 sameDay: '[Oggi alle] LT', 9225 nextDay: '[Domani alle] LT', 9226 nextWeek: 'dddd [alle] LT', 9227 lastDay: '[Ieri alle] LT', 9228 lastWeek: function () { 9229 switch (this.day()) { 9230 case 0: 9231 return '[la scorsa] dddd [alle] LT'; 9232 default: 9233 return '[lo scorso] dddd [alle] LT'; 9234 } 9235 }, 9236 sameElse: 'L' 9237 }, 9238 relativeTime : { 9239 future : function (s) { 9240 return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; 9241 }, 9242 past : '%s fa', 9243 s : 'alcuni secondi', 9244 ss : '%d secondi', 9245 m : 'un minuto', 9246 mm : '%d minuti', 9247 h : 'un\'ora', 9248 hh : '%d ore', 9249 d : 'un giorno', 9250 dd : '%d giorni', 9251 M : 'un mese', 9252 MM : '%d mesi', 9253 y : 'un anno', 9254 yy : '%d anni' 9255 }, 9256 dayOfMonthOrdinalParse : /\d{1,2}º/, 9257 ordinal: '%dº', 9258 week : { 9259 dow : 1, // Monday is the first day of the week. 9260 doy : 4 // The week that contains Jan 4th is the first week of the year. 9261 } 9262 }); 9263 9264 //! moment.js locale configuration 9265 9266 hooks.defineLocale('ja', { 9267 months : '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split('_'), 9268 monthsShort : '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split('_'), 9269 weekdays : 'æ¥ææ¥_æææ¥_ç«ææ¥_æ°´ææ¥_æ¨ææ¥_éææ¥_åææ¥'.split('_'), 9270 weekdaysShort : 'æ¥_æ_ç«_æ°´_æ¨_é_å'.split('_'), 9271 weekdaysMin : 'æ¥_æ_ç«_æ°´_æ¨_é_å'.split('_'), 9272 longDateFormat : { 9273 LT : 'HH:mm', 9274 LTS : 'HH:mm:ss', 9275 L : 'YYYY/MM/DD', 9276 LL : 'YYYYå¹´MæDæ¥', 9277 LLL : 'YYYYå¹´MæDæ¥ HH:mm', 9278 LLLL : 'YYYYå¹´MæDæ¥ dddd HH:mm', 9279 l : 'YYYY/MM/DD', 9280 ll : 'YYYYå¹´MæDæ¥', 9281 lll : 'YYYYå¹´MæDæ¥ HH:mm', 9282 llll : 'YYYYå¹´MæDæ¥(ddd) HH:mm' 9283 }, 9284 meridiemParse: /åå|åå¾/i, 9285 isPM : function (input) { 9286 return input === 'åå¾'; 9287 }, 9288 meridiem : function (hour, minute, isLower) { 9289 if (hour < 12) { 9290 return 'åå'; 9291 } else { 9292 return 'åå¾'; 9293 } 9294 }, 9295 calendar : { 9296 sameDay : '[仿¥] LT', 9297 nextDay : '[ææ¥] LT', 9298 nextWeek : function (now) { 9299 if (now.week() < this.week()) { 9300 return '[æ¥é±]dddd LT'; 9301 } else { 9302 return 'dddd LT'; 9303 } 9304 }, 9305 lastDay : '[æ¨æ¥] LT', 9306 lastWeek : function (now) { 9307 if (this.week() < now.week()) { 9308 return '[å é±]dddd LT'; 9309 } else { 9310 return 'dddd LT'; 9311 } 9312 }, 9313 sameElse : 'L' 9314 }, 9315 dayOfMonthOrdinalParse : /\d{1,2}æ¥/, 9316 ordinal : function (number, period) { 9317 switch (period) { 9318 case 'd': 9319 case 'D': 9320 case 'DDD': 9321 return number + 'æ¥'; 9322 default: 9323 return number; 9324 } 9325 }, 9326 relativeTime : { 9327 future : '%så¾', 9328 past : '%så', 9329 s : 'æ°ç§', 9330 ss : '%dç§', 9331 m : '1å', 9332 mm : '%då', 9333 h : '1æé', 9334 hh : '%dæé', 9335 d : '1æ¥', 9336 dd : '%dæ¥', 9337 M : '1ã¶æ', 9338 MM : '%dã¶æ', 9339 y : '1å¹´', 9340 yy : '%då¹´' 9341 } 9342 }); 9343 9344 //! moment.js locale configuration 9345 9346 hooks.defineLocale('jv', { 9347 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'), 9348 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), 9349 weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), 9350 weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), 9351 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), 9352 longDateFormat : { 9353 LT : 'HH.mm', 9354 LTS : 'HH.mm.ss', 9355 L : 'DD/MM/YYYY', 9356 LL : 'D MMMM YYYY', 9357 LLL : 'D MMMM YYYY [pukul] HH.mm', 9358 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' 9359 }, 9360 meridiemParse: /enjing|siyang|sonten|ndalu/, 9361 meridiemHour : function (hour, meridiem) { 9362 if (hour === 12) { 9363 hour = 0; 9364 } 9365 if (meridiem === 'enjing') { 9366 return hour; 9367 } else if (meridiem === 'siyang') { 9368 return hour >= 11 ? hour : hour + 12; 9369 } else if (meridiem === 'sonten' || meridiem === 'ndalu') { 9370 return hour + 12; 9371 } 9372 }, 9373 meridiem : function (hours, minutes, isLower) { 9374 if (hours < 11) { 9375 return 'enjing'; 9376 } else if (hours < 15) { 9377 return 'siyang'; 9378 } else if (hours < 19) { 9379 return 'sonten'; 9380 } else { 9381 return 'ndalu'; 9382 } 9383 }, 9384 calendar : { 9385 sameDay : '[Dinten puniko pukul] LT', 9386 nextDay : '[Mbenjang pukul] LT', 9387 nextWeek : 'dddd [pukul] LT', 9388 lastDay : '[Kala wingi pukul] LT', 9389 lastWeek : 'dddd [kepengker pukul] LT', 9390 sameElse : 'L' 9391 }, 9392 relativeTime : { 9393 future : 'wonten ing %s', 9394 past : '%s ingkang kepengker', 9395 s : 'sawetawis detik', 9396 ss : '%d detik', 9397 m : 'setunggal menit', 9398 mm : '%d menit', 9399 h : 'setunggal jam', 9400 hh : '%d jam', 9401 d : 'sedinten', 9402 dd : '%d dinten', 9403 M : 'sewulan', 9404 MM : '%d wulan', 9405 y : 'setaun', 9406 yy : '%d taun' 9407 }, 9408 week : { 9409 dow : 1, // Monday is the first day of the week. 9410 doy : 7 // The week that contains Jan 7th is the first week of the year. 9411 } 9412 }); 9413 9414 //! moment.js locale configuration 9415 9416 hooks.defineLocale('ka', { 9417 months : { 9418 standalone: 'áááááá á_ááááá áááá_ááá á¢á_ááá ááá_áááá¡á_ááááá¡á_ááááá¡á_ááááá¡á¢á_á¡áá¥á¢ááááá á_áá¥á¢ááááá á_ááááááá á_áááááááá á'.split('_'), 9419 format: 'áááááá á¡_ááááá áááá¡_ááá á¢á¡_ááá áááá¡_áááá¡á¡_ááááá¡á¡_ááááá¡á¡_ááááá¡á¢á¡_á¡áá¥á¢ááááá á¡_áá¥á¢ááááá á¡_ááááááá á¡_áááááááá á¡'.split('_') 9420 }, 9421 monthsShort : 'ááá_ááá_ááá _ááá _ááá_ááá_ááá_ááá_á¡áá¥_áá¥á¢_ááá_ááá'.split('_'), 9422 weekdays : { 9423 standalone: 'áááá á_áá á¨ááááá_á¡ááá¨ááááá_ááá®á¨ááááá_á®á£áá¨ááááá_ááá áá¡áááá_á¨ááááá'.split('_'), 9424 format: 'áááá áá¡_áá á¨ááááá¡_á¡ááá¨ááááá¡_ááá®á¨ááááá¡_á®á£áá¨ááááá¡_ááá áá¡áááá¡_á¨ááááá¡'.split('_'), 9425 isFormat: /(á¬ááá|á¨ááááá)/ 9426 }, 9427 weekdaysShort : 'ááá_áá á¨_á¡áá_ááá®_á®á£á_ááá _á¨áá'.split('_'), 9428 weekdaysMin : 'áá_áá _á¡á_áá_á®á£_áá_á¨á'.split('_'), 9429 longDateFormat : { 9430 LT : 'h:mm A', 9431 LTS : 'h:mm:ss A', 9432 L : 'DD/MM/YYYY', 9433 LL : 'D MMMM YYYY', 9434 LLL : 'D MMMM YYYY h:mm A', 9435 LLLL : 'dddd, D MMMM YYYY h:mm A' 9436 }, 9437 calendar : { 9438 sameDay : '[áá¦áá¡] LT[-áá]', 9439 nextDay : '[á®ááá] LT[-áá]', 9440 lastDay : '[áá£á¨áá] LT[-áá]', 9441 nextWeek : '[á¨ááááá] dddd LT[-áá]', 9442 lastWeek : '[á¬ááá] dddd LT-áá', 9443 sameElse : 'L' 9444 }, 9445 relativeTime : { 9446 future : function (s) { 9447 return (/(á¬ááá|á¬á£áá|á¡áááá|á¬ááá)/).test(s) ? 9448 s.replace(/á$/, 'á¨á') : 9449 s + 'á¨á'; 9450 }, 9451 past : function (s) { 9452 if ((/(á¬ááá|á¬á£áá|á¡áááá|áá¦á|ááá)/).test(s)) { 9453 return s.replace(/(á|á)$/, 'áá¡ á¬áá'); 9454 } 9455 if ((/á¬ááá/).test(s)) { 9456 return s.replace(/á¬ááá$/, 'á¬ááá¡ á¬áá'); 9457 } 9458 }, 9459 s : 'á áááááááá á¬ááá', 9460 ss : '%d á¬ááá', 9461 m : 'á¬á£áá', 9462 mm : '%d á¬á£áá', 9463 h : 'á¡áááá', 9464 hh : '%d á¡áááá', 9465 d : 'áá¦á', 9466 dd : '%d áá¦á', 9467 M : 'ááá', 9468 MM : '%d ááá', 9469 y : 'á¬ááá', 9470 yy : '%d á¬ááá' 9471 }, 9472 dayOfMonthOrdinalParse: /0|1-áá|áá-\d{1,2}|\d{1,2}-á/, 9473 ordinal : function (number) { 9474 if (number === 0) { 9475 return number; 9476 } 9477 if (number === 1) { 9478 return number + '-áá'; 9479 } 9480 if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) { 9481 return 'áá-' + number; 9482 } 9483 return number + '-á'; 9484 }, 9485 week : { 9486 dow : 1, 9487 doy : 7 9488 } 9489 }); 9490 9491 //! moment.js locale configuration 9492 9493 var suffixes$1 = { 9494 0: '-ÑÑ', 9495 1: '-ÑÑ', 9496 2: '-ÑÑ', 9497 3: '-ÑÑ', 9498 4: '-ÑÑ', 9499 5: '-ÑÑ', 9500 6: '-ÑÑ', 9501 7: '-ÑÑ', 9502 8: '-ÑÑ', 9503 9: '-ÑÑ', 9504 10: '-ÑÑ', 9505 20: '-ÑÑ', 9506 30: '-ÑÑ', 9507 40: '-ÑÑ', 9508 50: '-ÑÑ', 9509 60: '-ÑÑ', 9510 70: '-ÑÑ', 9511 80: '-ÑÑ', 9512 90: '-ÑÑ', 9513 100: '-ÑÑ' 9514 }; 9515 9516 hooks.defineLocale('kk', { 9517 months : 'ÒаңÑаÑ_аÒпан_наÑÑÑз_ÑÓÑÑÑ_мамÑÑ_маÑÑÑм_ÑÑлде_ÑамÑз_ÒÑÑкүйек_Òазан_ÒаÑаÑа_желÑоÒÑан'.split('_'), 9518 monthsShort : 'Òаң_аÒп_наÑ_ÑÓÑ_мам_маÑ_ÑÑл_Ñам_ÒÑÑ_Òаз_ÒаÑ_жел'.split('_'), 9519 weekdays : 'жекÑенбÑ_дүйÑенбÑ_ÑейÑенбÑ_ÑÓÑÑенбÑ_бейÑенбÑ_жұма_ÑенбÑ'.split('_'), 9520 weekdaysShort : 'жек_дүй_Ñей_ÑÓÑ_бей_жұм_Ñен'.split('_'), 9521 weekdaysMin : 'жк_дй_Ñй_ÑÑ_бй_жм_Ñн'.split('_'), 9522 longDateFormat : { 9523 LT : 'HH:mm', 9524 LTS : 'HH:mm:ss', 9525 L : 'DD.MM.YYYY', 9526 LL : 'D MMMM YYYY', 9527 LLL : 'D MMMM YYYY HH:mm', 9528 LLLL : 'dddd, D MMMM YYYY HH:mm' 9529 }, 9530 calendar : { 9531 sameDay : '[ÐүгÑн ÑаÒаÑ] LT', 9532 nextDay : '[ÐÑÑең ÑаÒаÑ] LT', 9533 nextWeek : 'dddd [ÑаÒаÑ] LT', 9534 lastDay : '[ÐеÑе ÑаÒаÑ] LT', 9535 lastWeek : '[Ó¨Ñкен апÑанÑÒ£] dddd [ÑаÒаÑ] LT', 9536 sameElse : 'L' 9537 }, 9538 relativeTime : { 9539 future : '%s ÑÑÑнде', 9540 past : '%s бұÑÑн', 9541 s : 'бÑÑнеÑе ÑекÑнд', 9542 ss : '%d ÑекÑнд', 9543 m : 'бÑÑ Ð¼Ð¸Ð½ÑÑ', 9544 mm : '%d минÑÑ', 9545 h : 'бÑÑ ÑаÒаÑ', 9546 hh : '%d ÑаÒаÑ', 9547 d : 'бÑÑ ÐºÒ¯Ð½', 9548 dd : '%d күн', 9549 M : 'бÑÑ Ð°Ð¹', 9550 MM : '%d ай', 9551 y : 'бÑÑ Ð¶Ñл', 9552 yy : '%d жÑл' 9553 }, 9554 dayOfMonthOrdinalParse: /\d{1,2}-(ÑÑ|ÑÑ)/, 9555 ordinal : function (number) { 9556 var a = number % 10, 9557 b = number >= 100 ? 100 : null; 9558 return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]); 9559 }, 9560 week : { 9561 dow : 1, // Monday is the first day of the week. 9562 doy : 7 // The week that contains Jan 7th is the first week of the year. 9563 } 9564 }); 9565 9566 //! moment.js locale configuration 9567 9568 var symbolMap$8 = { 9569 '1': 'á¡', 9570 '2': 'á¢', 9571 '3': 'á£', 9572 '4': 'á¤', 9573 '5': 'á¥', 9574 '6': 'á¦', 9575 '7': 'á§', 9576 '8': 'á¨', 9577 '9': 'á©', 9578 '0': 'á ' 9579 }, numberMap$7 = { 9580 'á¡': '1', 9581 'á¢': '2', 9582 'á£': '3', 9583 'á¤': '4', 9584 'á¥': '5', 9585 'á¦': '6', 9586 'á§': '7', 9587 'á¨': '8', 9588 'á©': '9', 9589 'á ': '0' 9590 }; 9591 9592 hooks.defineLocale('km', { 9593 months: 'áááá¶_áá»áááá_áá¸áá¶_áááá¶_á§ááá¶_áá·áá»áá¶_áááááá¶_áá¸á á¶_ááááá¶_áá»áá¶_áá·á ááá·áá¶_áááá¼'.split( 9594 '_' 9595 ), 9596 monthsShort: 'áááá¶_áá»áááá_áá¸áá¶_áááá¶_á§ááá¶_áá·áá»áá¶_áááááá¶_áá¸á á¶_ááááá¶_áá»áá¶_áá·á ááá·áá¶_áááá¼'.split( 9597 '_' 9598 ), 9599 weekdays: 'á¢á¶áá·ááá_á áááá_á¢áááá¶á_áá»á_áááá ááááá·á_áá»ááá_áá áá'.split('_'), 9600 weekdaysShort: 'á¢á¶_á _á¢_á_ááá_áá»_á'.split('_'), 9601 weekdaysMin: 'á¢á¶_á _á¢_á_ááá_áá»_á'.split('_'), 9602 weekdaysParseExact: true, 9603 longDateFormat: { 9604 LT: 'HH:mm', 9605 LTS: 'HH:mm:ss', 9606 L: 'DD/MM/YYYY', 9607 LL: 'D MMMM YYYY', 9608 LLL: 'D MMMM YYYY HH:mm', 9609 LLLL: 'dddd, D MMMM YYYY HH:mm' 9610 }, 9611 meridiemParse: /áááá¹á|áááá¶á /, 9612 isPM: function (input) { 9613 return input === 'áááá¶á '; 9614 }, 9615 meridiem: function (hour, minute, isLower) { 9616 if (hour < 12) { 9617 return 'áááá¹á'; 9618 } else { 9619 return 'áááá¶á '; 9620 } 9621 }, 9622 calendar: { 9623 sameDay: '[ááááááá áááá] LT', 9624 nextDay: '[ááá¢áá áááá] LT', 9625 nextWeek: 'dddd [áááá] LT', 9626 lastDay: '[áááá·ááá·á áááá] LT', 9627 lastWeek: 'dddd [ááááá¶á ááá»á] [áááá] LT', 9628 sameElse: 'L' 9629 }, 9630 relativeTime: { 9631 future: '%sááá', 9632 past: '%sáá»á', 9633 s: 'ááá»áááá¶ááá·áá¶áá¸', 9634 ss: '%d áá·áá¶áá¸', 9635 m: 'áá½ááá¶áá¸', 9636 mm: '%d áá¶áá¸', 9637 h: 'áá½ááááá', 9638 hh: '%d áááá', 9639 d: 'áá½ááááá', 9640 dd: '%d áááá', 9641 M: 'áá½ááá', 9642 MM: '%d áá', 9643 y: 'áá½ááááá¶á', 9644 yy: '%d áááá¶á' 9645 }, 9646 dayOfMonthOrdinalParse : /áá¸\d{1,2}/, 9647 ordinal : 'áá¸%d', 9648 preparse: function (string) { 9649 return string.replace(/[á¡á¢á£á¤á¥á¦á§á¨á©á ]/g, function (match) { 9650 return numberMap$7[match]; 9651 }); 9652 }, 9653 postformat: function (string) { 9654 return string.replace(/\d/g, function (match) { 9655 return symbolMap$8[match]; 9656 }); 9657 }, 9658 week: { 9659 dow: 1, // Monday is the first day of the week. 9660 doy: 4 // The week that contains Jan 4th is the first week of the year. 9661 } 9662 }); 9663 9664 //! moment.js locale configuration 9665 9666 var symbolMap$9 = { 9667 '1': 'à³§', 9668 '2': '೨', 9669 '3': '೩', 9670 '4': '೪', 9671 '5': '೫', 9672 '6': '೬', 9673 '7': 'à³', 9674 '8': 'à³®', 9675 '9': '೯', 9676 '0': '೦' 9677 }, 9678 numberMap$8 = { 9679 'à³§': '1', 9680 '೨': '2', 9681 '೩': '3', 9682 '೪': '4', 9683 '೫': '5', 9684 '೬': '6', 9685 'à³': '7', 9686 'à³®': '8', 9687 '೯': '9', 9688 '೦': '0' 9689 }; 9690 9691 hooks.defineLocale('kn', { 9692 months : 'à²à²¨à²µà²°à²¿_ಫà³à²¬à³à²°à²µà²°à²¿_ಮಾರà³à²à³_à²à²ªà³à²°à²¿à²²à³_ಮà³à³_à²à³à²¨à³_à²à³à²²à³à³_à²à²à²¸à³à²à³_ಸà³à²ªà³à²à³à²à²¬à²°à³_ಠà²à³à²à³à³à³à²¬à²°à³_ನವà³à²à²¬à²°à³_ಡಿಸà³à²à²¬à²°à³'.split('_'), 9693 monthsShort : 'à²à²¨_ಫà³à²¬à³à²°_ಮಾರà³à²à³_à²à²ªà³à²°à²¿à²²à³_ಮà³à³_à²à³à²¨à³_à²à³à²²à³à³_à²à²à²¸à³à²à³_ಸà³à²ªà³à²à³à²_ಠà²à³à²à³à³à³_ನವà³à²_ಡಿಸà³à²'.split('_'), 9694 monthsParseExact: true, 9695 weekdays : 'à²à²¾à²¨à³à²µà²¾à²°_ಸà³à³à³à²®à²µà²¾à²°_ಮà²à²à²³à²µà²¾à²°_ಬà³à²§à²µà²¾à²°_à²à³à²°à³à²µà²¾à²°_ಶà³à²à³à²°à²µà²¾à²°_ಶನಿವಾರ'.split('_'), 9696 weekdaysShort : 'à²à²¾à²¨à³_ಸà³à³à³à²®_ಮà²à²à²³_ಬà³à²§_à²à³à²°à³_ಶà³à²à³à²°_ಶನಿ'.split('_'), 9697 weekdaysMin : 'à²à²¾_ಸà³à³à³_ಮà²_ಬà³_à²à³_ಶà³_ಶ'.split('_'), 9698 longDateFormat : { 9699 LT : 'A h:mm', 9700 LTS : 'A h:mm:ss', 9701 L : 'DD/MM/YYYY', 9702 LL : 'D MMMM YYYY', 9703 LLL : 'D MMMM YYYY, A h:mm', 9704 LLLL : 'dddd, D MMMM YYYY, A h:mm' 9705 }, 9706 calendar : { 9707 sameDay : '[à²à²à²¦à³] LT', 9708 nextDay : '[ನಾಳà³] LT', 9709 nextWeek : 'dddd, LT', 9710 lastDay : '[ನಿನà³à²¨à³] LT', 9711 lastWeek : '[à²à³à³à²¨à³à²¯] dddd, LT', 9712 sameElse : 'L' 9713 }, 9714 relativeTime : { 9715 future : '%s ನà²à²¤à²°', 9716 past : '%s ಹಿà²à²¦à³', 9717 s : 'à²à³à²²à²µà³ à²à³à²·à²£à²à²³à³', 9718 ss : '%d ಸà³à²à³à²à²¡à³à²à²³à³', 9719 m : 'à²à²à²¦à³ ನಿಮಿಷ', 9720 mm : '%d ನಿಮಿಷ', 9721 h : 'à²à²à²¦à³ à²à²à²à³', 9722 hh : '%d à²à²à²à³', 9723 d : 'à²à²à²¦à³ ದಿನ', 9724 dd : '%d ದಿನ', 9725 M : 'à²à²à²¦à³ ತಿà²à²à²³à³', 9726 MM : '%d ತಿà²à²à²³à³', 9727 y : 'à²à²à²¦à³ ವರà³à²·', 9728 yy : '%d ವರà³à²·' 9729 }, 9730 preparse: function (string) { 9731 return string.replace(/[೧೨೩೪೫೬à³à³®à³¯à³¦]/g, function (match) { 9732 return numberMap$8[match]; 9733 }); 9734 }, 9735 postformat: function (string) { 9736 return string.replace(/\d/g, function (match) { 9737 return symbolMap$9[match]; 9738 }); 9739 }, 9740 meridiemParse: /ರಾತà³à²°à²¿|ಬà³à²³à²¿à²à³à²à³|ಮಧà³à²¯à²¾à²¹à³à²¨|ಸà²à²à³/, 9741 meridiemHour : function (hour, meridiem) { 9742 if (hour === 12) { 9743 hour = 0; 9744 } 9745 if (meridiem === 'ರಾತà³à²°à²¿') { 9746 return hour < 4 ? hour : hour + 12; 9747 } else if (meridiem === 'ಬà³à²³à²¿à²à³à²à³') { 9748 return hour; 9749 } else if (meridiem === 'ಮಧà³à²¯à²¾à²¹à³à²¨') { 9750 return hour >= 10 ? hour : hour + 12; 9751 } else if (meridiem === 'ಸà²à²à³') { 9752 return hour + 12; 9753 } 9754 }, 9755 meridiem : function (hour, minute, isLower) { 9756 if (hour < 4) { 9757 return 'ರಾತà³à²°à²¿'; 9758 } else if (hour < 10) { 9759 return 'ಬà³à²³à²¿à²à³à²à³'; 9760 } else if (hour < 17) { 9761 return 'ಮಧà³à²¯à²¾à²¹à³à²¨'; 9762 } else if (hour < 20) { 9763 return 'ಸà²à²à³'; 9764 } else { 9765 return 'ರಾತà³à²°à²¿'; 9766 } 9767 }, 9768 dayOfMonthOrdinalParse: /\d{1,2}(ನà³à³)/, 9769 ordinal : function (number) { 9770 return number + 'ನà³à³'; 9771 }, 9772 week : { 9773 dow : 0, // Sunday is the first day of the week. 9774 doy : 6 // The week that contains Jan 6th is the first week of the year. 9775 } 9776 }); 9777 9778 //! moment.js locale configuration 9779 9780 hooks.defineLocale('ko', { 9781 months : '1ì_2ì_3ì_4ì_5ì_6ì_7ì_8ì_9ì_10ì_11ì_12ì'.split('_'), 9782 monthsShort : '1ì_2ì_3ì_4ì_5ì_6ì_7ì_8ì_9ì_10ì_11ì_12ì'.split('_'), 9783 weekdays : 'ì¼ìì¼_ììì¼_íìì¼_ììì¼_목ìì¼_ê¸ìì¼_í ìì¼'.split('_'), 9784 weekdaysShort : 'ì¼_ì_í_ì_목_ê¸_í '.split('_'), 9785 weekdaysMin : 'ì¼_ì_í_ì_목_ê¸_í '.split('_'), 9786 longDateFormat : { 9787 LT : 'A h:mm', 9788 LTS : 'A h:mm:ss', 9789 L : 'YYYY.MM.DD.', 9790 LL : 'YYYYë MMMM Dì¼', 9791 LLL : 'YYYYë MMMM Dì¼ A h:mm', 9792 LLLL : 'YYYYë MMMM Dì¼ dddd A h:mm', 9793 l : 'YYYY.MM.DD.', 9794 ll : 'YYYYë MMMM Dì¼', 9795 lll : 'YYYYë MMMM Dì¼ A h:mm', 9796 llll : 'YYYYë MMMM Dì¼ dddd A h:mm' 9797 }, 9798 calendar : { 9799 sameDay : 'ì¤ë LT', 9800 nextDay : 'ë´ì¼ LT', 9801 nextWeek : 'dddd LT', 9802 lastDay : 'ì´ì LT', 9803 lastWeek : 'ì§ë주 dddd LT', 9804 sameElse : 'L' 9805 }, 9806 relativeTime : { 9807 future : '%s í', 9808 past : '%s ì ', 9809 s : 'ëª ì´', 9810 ss : '%dì´', 9811 m : '1ë¶', 9812 mm : '%dë¶', 9813 h : 'í ìê°', 9814 hh : '%dìê°', 9815 d : 'í루', 9816 dd : '%dì¼', 9817 M : 'í ë¬', 9818 MM : '%dë¬', 9819 y : 'ì¼ ë ', 9820 yy : '%dë ' 9821 }, 9822 dayOfMonthOrdinalParse : /\d{1,2}(ì¼|ì|주)/, 9823 ordinal : function (number, period) { 9824 switch (period) { 9825 case 'd': 9826 case 'D': 9827 case 'DDD': 9828 return number + 'ì¼'; 9829 case 'M': 9830 return number + 'ì'; 9831 case 'w': 9832 case 'W': 9833 return number + '주'; 9834 default: 9835 return number; 9836 } 9837 }, 9838 meridiemParse : /ì¤ì |ì¤í/, 9839 isPM : function (token) { 9840 return token === 'ì¤í'; 9841 }, 9842 meridiem : function (hour, minute, isUpper) { 9843 return hour < 12 ? 'ì¤ì ' : 'ì¤í'; 9844 } 9845 }); 9846 9847 //! moment.js locale configuration 9848 9849 var symbolMap$a = { 9850 '1': 'Ù¡', 9851 '2': 'Ù¢', 9852 '3': 'Ù£', 9853 '4': 'Ù¤', 9854 '5': 'Ù¥', 9855 '6': 'Ù¦', 9856 '7': 'Ù§', 9857 '8': 'Ù¨', 9858 '9': 'Ù©', 9859 '0': 'Ù ' 9860 }, numberMap$9 = { 9861 'Ù¡': '1', 9862 'Ù¢': '2', 9863 'Ù£': '3', 9864 'Ù¤': '4', 9865 'Ù¥': '5', 9866 'Ù¦': '6', 9867 'Ù§': '7', 9868 'Ù¨': '8', 9869 'Ù©': '9', 9870 'Ù ': '0' 9871 }, 9872 months$7 = [ 9873 'کاÙÙÙÛ Ø¯ÙÙÛÙ ', 9874 'Ø´ÙØ¨Ø§Øª', 9875 'ئازار', 9876 'ÙÛØ³Ø§Ù', 9877 'Ø¦Ø§ÛØ§Ø±', 9878 'ØÙزÛÛØ±Ø§Ù', 9879 'تÛÙ Ù ÙØ²', 9880 'ئاب', 9881 'ئÛÛÙÙÙÙ', 9882 'تشرÛÙÛ ÛÛÙÛÙ ', 9883 'تشرÛÙÛ Ø¯ÙÙÛÙ ', 9884 'ÙØ§ÙÙÙÛ ÛÛÚ©ÛÙ ' 9885 ]; 9886 9887 9888 hooks.defineLocale('ku', { 9889 months : months$7, 9890 monthsShort : months$7, 9891 weekdays : 'ÛÙâÙØ´ÙâÙ Ù Ùâ_دÙÙØ´ÙâÙ Ù Ùâ_Ø³ÛØ´ÙâÙ Ù Ùâ_ÚÙØ§Ø±Ø´ÙâÙ Ù Ùâ_Ù¾ÛÙØ¬Ø´ÙâÙ Ù Ùâ_ÙÙâÛÙÛ_Ø´ÙâÙ Ù Ùâ'.split('_'), 9892 weekdaysShort : 'ÛÙâÙØ´ÙâÙ _دÙÙØ´ÙâÙ _Ø³ÛØ´ÙâÙ _ÚÙØ§Ø±Ø´ÙâÙ _Ù¾ÛÙØ¬Ø´ÙâÙ _ÙÙâÛÙÛ_Ø´ÙâÙ Ù Ùâ'.split('_'), 9893 weekdaysMin : 'Û_د_س_Ú_Ù¾_Ù_Ø´'.split('_'), 9894 weekdaysParseExact : true, 9895 longDateFormat : { 9896 LT : 'HH:mm', 9897 LTS : 'HH:mm:ss', 9898 L : 'DD/MM/YYYY', 9899 LL : 'D MMMM YYYY', 9900 LLL : 'D MMMM YYYY HH:mm', 9901 LLLL : 'dddd, D MMMM YYYY HH:mm' 9902 }, 9903 meridiemParse: /ئÛÙØ§Ø±Ùâ|بÙâÛØ§ÙÛ/, 9904 isPM: function (input) { 9905 return /ئÛÙØ§Ø±Ùâ/.test(input); 9906 }, 9907 meridiem : function (hour, minute, isLower) { 9908 if (hour < 12) { 9909 return 'بÙâÛØ§ÙÛ'; 9910 } else { 9911 return 'ئÛÙØ§Ø±Ùâ'; 9912 } 9913 }, 9914 calendar : { 9915 sameDay : '[ئÙâÙ Ø±Û ÙØ§ØªÚÙ ÛØ±] LT', 9916 nextDay : '[بÙâÛØ§ÙÛ ÙØ§ØªÚÙ ÛØ±] LT', 9917 nextWeek : 'dddd [ÙØ§ØªÚÙ ÛØ±] LT', 9918 lastDay : '[دÙÛÙÛ ÙØ§ØªÚÙ ÛØ±] LT', 9919 lastWeek : 'dddd [ÙØ§ØªÚÙ ÛØ±] LT', 9920 sameElse : 'L' 9921 }, 9922 relativeTime : { 9923 future : 'ÙÙâ %s', 9924 past : '%s', 9925 s : 'ÚÙâÙØ¯ ÚØ±ÙÙâÛÙâÙ', 9926 ss : 'ÚØ±ÙÙâ %d', 9927 m : 'ÛÙâÙ Ø®ÙÙÙâÙ', 9928 mm : '%d Ø®ÙÙÙâÙ', 9929 h : 'ÛÙâÙ ÙØ§ØªÚÙ ÛØ±', 9930 hh : '%d ÙØ§ØªÚÙ ÛØ±', 9931 d : 'ÛÙâÙ ÚÛÚ', 9932 dd : '%d ÚÛÚ', 9933 M : 'ÛÙâ٠٠اÙÚ¯', 9934 MM : '%d ٠اÙÚ¯', 9935 y : 'ÛÙâ٠ساڵ', 9936 yy : '%d ساڵ' 9937 }, 9938 preparse: function (string) { 9939 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { 9940 return numberMap$9[match]; 9941 }).replace(/Ø/g, ','); 9942 }, 9943 postformat: function (string) { 9944 return string.replace(/\d/g, function (match) { 9945 return symbolMap$a[match]; 9946 }).replace(/,/g, 'Ø'); 9947 }, 9948 week : { 9949 dow : 6, // Saturday is the first day of the week. 9950 doy : 12 // The week that contains Jan 12th is the first week of the year. 9951 } 9952 }); 9953 9954 //! moment.js locale configuration 9955 9956 var suffixes$2 = { 9957 0: '-ÑÒ¯', 9958 1: '-Ñи', 9959 2: '-Ñи', 9960 3: '-ÑÒ¯', 9961 4: '-ÑÒ¯', 9962 5: '-Ñи', 9963 6: '-ÑÑ', 9964 7: '-Ñи', 9965 8: '-Ñи', 9966 9: '-ÑÑ', 9967 10: '-ÑÑ', 9968 20: '-ÑÑ', 9969 30: '-ÑÑ', 9970 40: '-ÑÑ', 9971 50: '-ÑÒ¯', 9972 60: '-ÑÑ', 9973 70: '-Ñи', 9974 80: '-Ñи', 9975 90: '-ÑÑ', 9976 100: '-ÑÒ¯' 9977 }; 9978 9979 hooks.defineLocale('ky', { 9980 months : 'ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_'), 9981 monthsShort : 'Ñнв_Ñев_маÑÑ_апÑ_май_иÑнÑ_иÑлÑ_авг_Ñен_окÑ_ноÑ_дек'.split('_'), 9982 weekdays : 'ÐекÑемби_ÐүйÑөмбү_ШейÑемби_ШаÑÑемби_ÐейÑемби_ÐÑма_ÐÑемби'.split('_'), 9983 weekdaysShort : 'Ðек_Ðүй_Шей_ШаÑ_Ðей_ÐÑм_ÐÑе'.split('_'), 9984 weekdaysMin : 'Ðк_Ðй_Шй_ШÑ_Ðй_Ðм_ÐÑ'.split('_'), 9985 longDateFormat : { 9986 LT : 'HH:mm', 9987 LTS : 'HH:mm:ss', 9988 L : 'DD.MM.YYYY', 9989 LL : 'D MMMM YYYY', 9990 LLL : 'D MMMM YYYY HH:mm', 9991 LLLL : 'dddd, D MMMM YYYY HH:mm' 9992 }, 9993 calendar : { 9994 sameDay : '[Ðүгүн ÑааÑ] LT', 9995 nextDay : '[ÐÑÑең ÑааÑ] LT', 9996 nextWeek : 'dddd [ÑааÑ] LT', 9997 lastDay : '[ÐеÑÑÑ ÑааÑ] LT', 9998 lastWeek : '[Ó¨Ñкөн апÑанÑн] dddd [күнү] [ÑааÑ] LT', 9999 sameElse : 'L' 10000 }, 10001 relativeTime : { 10002 future : '%s иÑинде', 10003 past : '%s мÑÑÑн', 10004 s : 'биÑнеÑе ÑекÑнд', 10005 ss : '%d ÑекÑнд', 10006 m : 'Ð±Ð¸Ñ Ð¼Ò¯Ð½Ó©Ñ', 10007 mm : '%d мүнөÑ', 10008 h : 'Ð±Ð¸Ñ ÑааÑ', 10009 hh : '%d ÑааÑ', 10010 d : 'Ð±Ð¸Ñ ÐºÒ¯Ð½', 10011 dd : '%d күн', 10012 M : 'Ð±Ð¸Ñ Ð°Ð¹', 10013 MM : '%d ай', 10014 y : 'Ð±Ð¸Ñ Ð¶Ñл', 10015 yy : '%d жÑл' 10016 }, 10017 dayOfMonthOrdinalParse: /\d{1,2}-(Ñи|ÑÑ|ÑÒ¯|ÑÑ)/, 10018 ordinal : function (number) { 10019 var a = number % 10, 10020 b = number >= 100 ? 100 : null; 10021 return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]); 10022 }, 10023 week : { 10024 dow : 1, // Monday is the first day of the week. 10025 doy : 7 // The week that contains Jan 7th is the first week of the year. 10026 } 10027 }); 10028 10029 //! moment.js locale configuration 10030 10031 function processRelativeTime$5(number, withoutSuffix, key, isFuture) { 10032 var format = { 10033 'm': ['eng Minutt', 'enger Minutt'], 10034 'h': ['eng Stonn', 'enger Stonn'], 10035 'd': ['een Dag', 'engem Dag'], 10036 'M': ['ee Mount', 'engem Mount'], 10037 'y': ['ee Joer', 'engem Joer'] 10038 }; 10039 return withoutSuffix ? format[key][0] : format[key][1]; 10040 } 10041 function processFutureTime(string) { 10042 var number = string.substr(0, string.indexOf(' ')); 10043 if (eifelerRegelAppliesToNumber(number)) { 10044 return 'a ' + string; 10045 } 10046 return 'an ' + string; 10047 } 10048 function processPastTime(string) { 10049 var number = string.substr(0, string.indexOf(' ')); 10050 if (eifelerRegelAppliesToNumber(number)) { 10051 return 'viru ' + string; 10052 } 10053 return 'virun ' + string; 10054 } 10055 /** 10056 * Returns true if the word before the given number loses the '-n' ending. 10057 * e.g. 'an 10 Deeg' but 'a 5 Deeg' 10058 * 10059 * @param number {integer} 10060 * @returns {boolean} 10061 */ 10062 function eifelerRegelAppliesToNumber(number) { 10063 number = parseInt(number, 10); 10064 if (isNaN(number)) { 10065 return false; 10066 } 10067 if (number < 0) { 10068 // Negative Number --> always true 10069 return true; 10070 } else if (number < 10) { 10071 // Only 1 digit 10072 if (4 <= number && number <= 7) { 10073 return true; 10074 } 10075 return false; 10076 } else if (number < 100) { 10077 // 2 digits 10078 var lastDigit = number % 10, firstDigit = number / 10; 10079 if (lastDigit === 0) { 10080 return eifelerRegelAppliesToNumber(firstDigit); 10081 } 10082 return eifelerRegelAppliesToNumber(lastDigit); 10083 } else if (number < 10000) { 10084 // 3 or 4 digits --> recursively check first digit 10085 while (number >= 10) { 10086 number = number / 10; 10087 } 10088 return eifelerRegelAppliesToNumber(number); 10089 } else { 10090 // Anything larger than 4 digits: recursively check first n-3 digits 10091 number = number / 1000; 10092 return eifelerRegelAppliesToNumber(number); 10093 } 10094 } 10095 10096 hooks.defineLocale('lb', { 10097 months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 10098 monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), 10099 monthsParseExact : true, 10100 weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'), 10101 weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), 10102 weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), 10103 weekdaysParseExact : true, 10104 longDateFormat: { 10105 LT: 'H:mm [Auer]', 10106 LTS: 'H:mm:ss [Auer]', 10107 L: 'DD.MM.YYYY', 10108 LL: 'D. MMMM YYYY', 10109 LLL: 'D. MMMM YYYY H:mm [Auer]', 10110 LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' 10111 }, 10112 calendar: { 10113 sameDay: '[Haut um] LT', 10114 sameElse: 'L', 10115 nextDay: '[Muer um] LT', 10116 nextWeek: 'dddd [um] LT', 10117 lastDay: '[Gëschter um] LT', 10118 lastWeek: function () { 10119 // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule 10120 switch (this.day()) { 10121 case 2: 10122 case 4: 10123 return '[Leschten] dddd [um] LT'; 10124 default: 10125 return '[Leschte] dddd [um] LT'; 10126 } 10127 } 10128 }, 10129 relativeTime : { 10130 future : processFutureTime, 10131 past : processPastTime, 10132 s : 'e puer Sekonnen', 10133 ss : '%d Sekonnen', 10134 m : processRelativeTime$5, 10135 mm : '%d Minutten', 10136 h : processRelativeTime$5, 10137 hh : '%d Stonnen', 10138 d : processRelativeTime$5, 10139 dd : '%d Deeg', 10140 M : processRelativeTime$5, 10141 MM : '%d Méint', 10142 y : processRelativeTime$5, 10143 yy : '%d Joer' 10144 }, 10145 dayOfMonthOrdinalParse: /\d{1,2}\./, 10146 ordinal: '%d.', 10147 week: { 10148 dow: 1, // Monday is the first day of the week. 10149 doy: 4 // The week that contains Jan 4th is the first week of the year. 10150 } 10151 }); 10152 10153 //! moment.js locale configuration 10154 10155 hooks.defineLocale('lo', { 10156 months : 'ມັàºàºàºàº_àºàº¸àº¡àºàº²_ມີàºàº²_à»àº¡àºªàº²_àºàº¶àºàºªàº°àºàº²_ມິàºàº¸àºàº²_àºà»àº¥àº°àºàº»àº_ສິàºàº«àº²_àºàº±àºàºàº²_àºàº¸àº¥àº²_àºàº°àºàº´àº_àºàº±àºàº§àº²'.split('_'), 10157 monthsShort : 'ມັàºàºàºàº_àºàº¸àº¡àºàº²_ມີàºàº²_à»àº¡àºªàº²_àºàº¶àºàºªàº°àºàº²_ມິàºàº¸àºàº²_àºà»àº¥àº°àºàº»àº_ສິàºàº«àº²_àºàº±àºàºàº²_àºàº¸àº¥àº²_àºàº°àºàº´àº_àºàº±àºàº§àº²'.split('_'), 10158 weekdays : 'àºàº²àºàº´àº_àºàº±àº_àºàº±àºàºàº²àº_àºàº¸àº_àºàº°àº«àº±àº_ສຸàº_à»àºªàº»àº²'.split('_'), 10159 weekdaysShort : 'àºàº´àº_àºàº±àº_àºàº±àºàºàº²àº_àºàº¸àº_àºàº°àº«àº±àº_ສຸàº_à»àºªàº»àº²'.split('_'), 10160 weekdaysMin : 'àº_àº_àºàº_àº_àºàº«_ສàº_ສ'.split('_'), 10161 weekdaysParseExact : true, 10162 longDateFormat : { 10163 LT : 'HH:mm', 10164 LTS : 'HH:mm:ss', 10165 L : 'DD/MM/YYYY', 10166 LL : 'D MMMM YYYY', 10167 LLL : 'D MMMM YYYY HH:mm', 10168 LLLL : 'ວັàºdddd D MMMM YYYY HH:mm' 10169 }, 10170 meridiemParse: /àºàºàºà»àºàº»à»àº²|àºàºàºà»àº¥àº/, 10171 isPM: function (input) { 10172 return input === 'àºàºàºà»àº¥àº'; 10173 }, 10174 meridiem : function (hour, minute, isLower) { 10175 if (hour < 12) { 10176 return 'àºàºàºà»àºàº»à»àº²'; 10177 } else { 10178 return 'àºàºàºà»àº¥àº'; 10179 } 10180 }, 10181 calendar : { 10182 sameDay : '[ມືà»àºàºµà»à»àº§àº¥àº²] LT', 10183 nextDay : '[ມືà»àºàº·à»àºà»àº§àº¥àº²] LT', 10184 nextWeek : '[ວັàº]dddd[à»à»àº²à»àº§àº¥àº²] LT', 10185 lastDay : '[ມືà»àº§àº²àºàºàºµà»à»àº§àº¥àº²] LT', 10186 lastWeek : '[ວັàº]dddd[à»àº¥à»àº§àºàºµà»à»àº§àº¥àº²] LT', 10187 sameElse : 'L' 10188 }, 10189 relativeTime : { 10190 future : 'àºàºµàº %s', 10191 past : '%sàºà»àº²àºàº¡àº²', 10192 s : 'àºà»à»à»àºàº»à»àº²à»àºàº§àº´àºàº²àºàºµ', 10193 ss : '%d ວິàºàº²àºàºµ' , 10194 m : '1 àºàº²àºàºµ', 10195 mm : '%d àºàº²àºàºµ', 10196 h : '1 àºàº»à»àº§à»àº¡àº', 10197 hh : '%d àºàº»à»àº§à»àº¡àº', 10198 d : '1 ມືà»', 10199 dd : '%d ມືà»', 10200 M : '1 à»àºàº·àºàº', 10201 MM : '%d à»àºàº·àºàº', 10202 y : '1 àºàºµ', 10203 yy : '%d àºàºµ' 10204 }, 10205 dayOfMonthOrdinalParse: /(àºàºµà»)\d{1,2}/, 10206 ordinal : function (number) { 10207 return 'àºàºµà»' + number; 10208 } 10209 }); 10210 10211 //! moment.js locale configuration 10212 10213 var units = { 10214 'ss' : 'sekundÄ_sekundžių_sekundes', 10215 'm' : 'minutÄ_minutÄs_minutÄ', 10216 'mm': 'minutÄs_minuÄių_minutes', 10217 'h' : 'valanda_valandos_valandÄ ', 10218 'hh': 'valandos_valandų_valandas', 10219 'd' : 'diena_dienos_dienÄ ', 10220 'dd': 'dienos_dienų_dienas', 10221 'M' : 'mÄnuo_mÄnesio_mÄnesį', 10222 'MM': 'mÄnesiai_mÄnesių_mÄnesius', 10223 'y' : 'metai_metų_metus', 10224 'yy': 'metai_metų_metus' 10225 }; 10226 function translateSeconds(number, withoutSuffix, key, isFuture) { 10227 if (withoutSuffix) { 10228 return 'kelios sekundÄs'; 10229 } else { 10230 return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; 10231 } 10232 } 10233 function translateSingular(number, withoutSuffix, key, isFuture) { 10234 return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]); 10235 } 10236 function special(number) { 10237 return number % 10 === 0 || (number > 10 && number < 20); 10238 } 10239 function forms(key) { 10240 return units[key].split('_'); 10241 } 10242 function translate$6(number, withoutSuffix, key, isFuture) { 10243 var result = number + ' '; 10244 if (number === 1) { 10245 return result + translateSingular(number, withoutSuffix, key[0], isFuture); 10246 } else if (withoutSuffix) { 10247 return result + (special(number) ? forms(key)[1] : forms(key)[0]); 10248 } else { 10249 if (isFuture) { 10250 return result + forms(key)[1]; 10251 } else { 10252 return result + (special(number) ? forms(key)[1] : forms(key)[2]); 10253 } 10254 } 10255 } 10256 hooks.defineLocale('lt', { 10257 months : { 10258 format: 'sausio_vasario_kovo_balandžio_gegužÄs_birželio_liepos_rugpjÅ«Äio_rugsÄjo_spalio_lapkriÄio_gruodžio'.split('_'), 10259 standalone: 'sausis_vasaris_kovas_balandis_gegužÄ_birželis_liepa_rugpjÅ«tis_rugsÄjis_spalis_lapkritis_gruodis'.split('_'), 10260 isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/ 10261 }, 10262 monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), 10263 weekdays : { 10264 format: 'sekmadienį_pirmadienį_antradienį_treÄiadienį_ketvirtadienį_penktadienį_Å¡eÅ¡tadienį'.split('_'), 10265 standalone: 'sekmadienis_pirmadienis_antradienis_treÄiadienis_ketvirtadienis_penktadienis_Å¡eÅ¡tadienis'.split('_'), 10266 isFormat: /dddd HH:mm/ 10267 }, 10268 weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Å eÅ¡'.split('_'), 10269 weekdaysMin : 'S_P_A_T_K_Pn_Å '.split('_'), 10270 weekdaysParseExact : true, 10271 longDateFormat : { 10272 LT : 'HH:mm', 10273 LTS : 'HH:mm:ss', 10274 L : 'YYYY-MM-DD', 10275 LL : 'YYYY [m.] MMMM D [d.]', 10276 LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]', 10277 LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', 10278 l : 'YYYY-MM-DD', 10279 ll : 'YYYY [m.] MMMM D [d.]', 10280 lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]', 10281 llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]' 10282 }, 10283 calendar : { 10284 sameDay : '[Å iandien] LT', 10285 nextDay : '[Rytoj] LT', 10286 nextWeek : 'dddd LT', 10287 lastDay : '[Vakar] LT', 10288 lastWeek : '[PraÄjusį] dddd LT', 10289 sameElse : 'L' 10290 }, 10291 relativeTime : { 10292 future : 'po %s', 10293 past : 'prieÅ¡ %s', 10294 s : translateSeconds, 10295 ss : translate$6, 10296 m : translateSingular, 10297 mm : translate$6, 10298 h : translateSingular, 10299 hh : translate$6, 10300 d : translateSingular, 10301 dd : translate$6, 10302 M : translateSingular, 10303 MM : translate$6, 10304 y : translateSingular, 10305 yy : translate$6 10306 }, 10307 dayOfMonthOrdinalParse: /\d{1,2}-oji/, 10308 ordinal : function (number) { 10309 return number + '-oji'; 10310 }, 10311 week : { 10312 dow : 1, // Monday is the first day of the week. 10313 doy : 4 // The week that contains Jan 4th is the first week of the year. 10314 } 10315 }); 10316 10317 //! moment.js locale configuration 10318 10319 var units$1 = { 10320 'ss': 'sekundes_sekundÄm_sekunde_sekundes'.split('_'), 10321 'm': 'minÅ«tes_minÅ«tÄm_minÅ«te_minÅ«tes'.split('_'), 10322 'mm': 'minÅ«tes_minÅ«tÄm_minÅ«te_minÅ«tes'.split('_'), 10323 'h': 'stundas_stundÄm_stunda_stundas'.split('_'), 10324 'hh': 'stundas_stundÄm_stunda_stundas'.split('_'), 10325 'd': 'dienas_dienÄm_diena_dienas'.split('_'), 10326 'dd': 'dienas_dienÄm_diena_dienas'.split('_'), 10327 'M': 'mÄneÅ¡a_mÄneÅ¡iem_mÄnesis_mÄneÅ¡i'.split('_'), 10328 'MM': 'mÄneÅ¡a_mÄneÅ¡iem_mÄnesis_mÄneÅ¡i'.split('_'), 10329 'y': 'gada_gadiem_gads_gadi'.split('_'), 10330 'yy': 'gada_gadiem_gads_gadi'.split('_') 10331 }; 10332 /** 10333 * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. 10334 */ 10335 function format$1(forms, number, withoutSuffix) { 10336 if (withoutSuffix) { 10337 // E.g. "21 minÅ«te", "3 minÅ«tes". 10338 return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; 10339 } else { 10340 // E.g. "21 minÅ«tes" as in "pÄc 21 minÅ«tes". 10341 // E.g. "3 minÅ«tÄm" as in "pÄc 3 minÅ«tÄm". 10342 return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; 10343 } 10344 } 10345 function relativeTimeWithPlural$1(number, withoutSuffix, key) { 10346 return number + ' ' + format$1(units$1[key], number, withoutSuffix); 10347 } 10348 function relativeTimeWithSingular(number, withoutSuffix, key) { 10349 return format$1(units$1[key], number, withoutSuffix); 10350 } 10351 function relativeSeconds(number, withoutSuffix) { 10352 return withoutSuffix ? 'dažas sekundes' : 'dažÄm sekundÄm'; 10353 } 10354 10355 hooks.defineLocale('lv', { 10356 months : 'janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), 10357 monthsShort : 'jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec'.split('_'), 10358 weekdays : 'svÄtdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena'.split('_'), 10359 weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'), 10360 weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'), 10361 weekdaysParseExact : true, 10362 longDateFormat : { 10363 LT : 'HH:mm', 10364 LTS : 'HH:mm:ss', 10365 L : 'DD.MM.YYYY.', 10366 LL : 'YYYY. [gada] D. MMMM', 10367 LLL : 'YYYY. [gada] D. MMMM, HH:mm', 10368 LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm' 10369 }, 10370 calendar : { 10371 sameDay : '[Å odien pulksten] LT', 10372 nextDay : '[RÄ«t pulksten] LT', 10373 nextWeek : 'dddd [pulksten] LT', 10374 lastDay : '[Vakar pulksten] LT', 10375 lastWeek : '[PagÄjuÅ¡Ä] dddd [pulksten] LT', 10376 sameElse : 'L' 10377 }, 10378 relativeTime : { 10379 future : 'pÄc %s', 10380 past : 'pirms %s', 10381 s : relativeSeconds, 10382 ss : relativeTimeWithPlural$1, 10383 m : relativeTimeWithSingular, 10384 mm : relativeTimeWithPlural$1, 10385 h : relativeTimeWithSingular, 10386 hh : relativeTimeWithPlural$1, 10387 d : relativeTimeWithSingular, 10388 dd : relativeTimeWithPlural$1, 10389 M : relativeTimeWithSingular, 10390 MM : relativeTimeWithPlural$1, 10391 y : relativeTimeWithSingular, 10392 yy : relativeTimeWithPlural$1 10393 }, 10394 dayOfMonthOrdinalParse: /\d{1,2}\./, 10395 ordinal : '%d.', 10396 week : { 10397 dow : 1, // Monday is the first day of the week. 10398 doy : 4 // The week that contains Jan 4th is the first week of the year. 10399 } 10400 }); 10401 10402 //! moment.js locale configuration 10403 10404 var translator = { 10405 words: { //Different grammatical cases 10406 ss: ['sekund', 'sekunda', 'sekundi'], 10407 m: ['jedan minut', 'jednog minuta'], 10408 mm: ['minut', 'minuta', 'minuta'], 10409 h: ['jedan sat', 'jednog sata'], 10410 hh: ['sat', 'sata', 'sati'], 10411 dd: ['dan', 'dana', 'dana'], 10412 MM: ['mjesec', 'mjeseca', 'mjeseci'], 10413 yy: ['godina', 'godine', 'godina'] 10414 }, 10415 correctGrammaticalCase: function (number, wordKey) { 10416 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); 10417 }, 10418 translate: function (number, withoutSuffix, key) { 10419 var wordKey = translator.words[key]; 10420 if (key.length === 1) { 10421 return withoutSuffix ? wordKey[0] : wordKey[1]; 10422 } else { 10423 return number + ' ' + translator.correctGrammaticalCase(number, wordKey); 10424 } 10425 } 10426 }; 10427 10428 hooks.defineLocale('me', { 10429 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), 10430 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), 10431 monthsParseExact : true, 10432 weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), 10433 weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), 10434 weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), 10435 weekdaysParseExact : true, 10436 longDateFormat: { 10437 LT: 'H:mm', 10438 LTS : 'H:mm:ss', 10439 L: 'DD.MM.YYYY', 10440 LL: 'D. MMMM YYYY', 10441 LLL: 'D. MMMM YYYY H:mm', 10442 LLLL: 'dddd, D. MMMM YYYY H:mm' 10443 }, 10444 calendar: { 10445 sameDay: '[danas u] LT', 10446 nextDay: '[sjutra u] LT', 10447 10448 nextWeek: function () { 10449 switch (this.day()) { 10450 case 0: 10451 return '[u] [nedjelju] [u] LT'; 10452 case 3: 10453 return '[u] [srijedu] [u] LT'; 10454 case 6: 10455 return '[u] [subotu] [u] LT'; 10456 case 1: 10457 case 2: 10458 case 4: 10459 case 5: 10460 return '[u] dddd [u] LT'; 10461 } 10462 }, 10463 lastDay : '[juÄe u] LT', 10464 lastWeek : function () { 10465 var lastWeekDays = [ 10466 '[proÅ¡le] [nedjelje] [u] LT', 10467 '[proÅ¡log] [ponedjeljka] [u] LT', 10468 '[proÅ¡log] [utorka] [u] LT', 10469 '[proÅ¡le] [srijede] [u] LT', 10470 '[proÅ¡log] [Äetvrtka] [u] LT', 10471 '[proÅ¡log] [petka] [u] LT', 10472 '[proÅ¡le] [subote] [u] LT' 10473 ]; 10474 return lastWeekDays[this.day()]; 10475 }, 10476 sameElse : 'L' 10477 }, 10478 relativeTime : { 10479 future : 'za %s', 10480 past : 'prije %s', 10481 s : 'nekoliko sekundi', 10482 ss : translator.translate, 10483 m : translator.translate, 10484 mm : translator.translate, 10485 h : translator.translate, 10486 hh : translator.translate, 10487 d : 'dan', 10488 dd : translator.translate, 10489 M : 'mjesec', 10490 MM : translator.translate, 10491 y : 'godinu', 10492 yy : translator.translate 10493 }, 10494 dayOfMonthOrdinalParse: /\d{1,2}\./, 10495 ordinal : '%d.', 10496 week : { 10497 dow : 1, // Monday is the first day of the week. 10498 doy : 7 // The week that contains Jan 7th is the first week of the year. 10499 } 10500 }); 10501 10502 //! moment.js locale configuration 10503 10504 hooks.defineLocale('mi', { 10505 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('_'), 10506 monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_HÅngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'), 10507 monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 10508 monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 10509 monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 10510 monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, 10511 weekdays: 'RÄtapu_Mane_TÅ«rei_Wenerei_TÄite_Paraire_HÄtarei'.split('_'), 10512 weekdaysShort: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), 10513 weekdaysMin: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), 10514 longDateFormat: { 10515 LT: 'HH:mm', 10516 LTS: 'HH:mm:ss', 10517 L: 'DD/MM/YYYY', 10518 LL: 'D MMMM YYYY', 10519 LLL: 'D MMMM YYYY [i] HH:mm', 10520 LLLL: 'dddd, D MMMM YYYY [i] HH:mm' 10521 }, 10522 calendar: { 10523 sameDay: '[i teie mahana, i] LT', 10524 nextDay: '[apopo i] LT', 10525 nextWeek: 'dddd [i] LT', 10526 lastDay: '[inanahi i] LT', 10527 lastWeek: 'dddd [whakamutunga i] LT', 10528 sameElse: 'L' 10529 }, 10530 relativeTime: { 10531 future: 'i roto i %s', 10532 past: '%s i mua', 10533 s: 'te hÄkona ruarua', 10534 ss: '%d hÄkona', 10535 m: 'he meneti', 10536 mm: '%d meneti', 10537 h: 'te haora', 10538 hh: '%d haora', 10539 d: 'he ra', 10540 dd: '%d ra', 10541 M: 'he marama', 10542 MM: '%d marama', 10543 y: 'he tau', 10544 yy: '%d tau' 10545 }, 10546 dayOfMonthOrdinalParse: /\d{1,2}º/, 10547 ordinal: '%dº', 10548 week : { 10549 dow : 1, // Monday is the first day of the week. 10550 doy : 4 // The week that contains Jan 4th is the first week of the year. 10551 } 10552 }); 10553 10554 //! moment.js locale configuration 10555 10556 hooks.defineLocale('mk', { 10557 months : 'ÑанÑаÑи_ÑевÑÑаÑи_маÑÑ_апÑил_маÑ_ÑÑни_ÑÑли_авгÑÑÑ_ÑепÑемвÑи_окÑомвÑи_ноемвÑи_декемвÑи'.split('_'), 10558 monthsShort : 'Ñан_Ñев_маÑ_апÑ_маÑ_ÑÑн_ÑÑл_авг_Ñеп_окÑ_ное_дек'.split('_'), 10559 weekdays : 'недела_понеделник_вÑоÑник_ÑÑеда_ÑеÑвÑÑок_пеÑок_ÑабоÑа'.split('_'), 10560 weekdaysShort : 'нед_пон_вÑо_ÑÑе_ÑеÑ_пеÑ_Ñаб'.split('_'), 10561 weekdaysMin : 'нe_пo_вÑ_ÑÑ_Ñе_пе_Ña'.split('_'), 10562 longDateFormat : { 10563 LT : 'H:mm', 10564 LTS : 'H:mm:ss', 10565 L : 'D.MM.YYYY', 10566 LL : 'D MMMM YYYY', 10567 LLL : 'D MMMM YYYY H:mm', 10568 LLLL : 'dddd, D MMMM YYYY H:mm' 10569 }, 10570 calendar : { 10571 sameDay : '[ÐÐµÐ½ÐµÑ Ð²Ð¾] LT', 10572 nextDay : '[УÑÑе во] LT', 10573 nextWeek : '[Ðо] dddd [во] LT', 10574 lastDay : '[ÐÑеÑа во] LT', 10575 lastWeek : function () { 10576 switch (this.day()) { 10577 case 0: 10578 case 3: 10579 case 6: 10580 return '[ÐзминаÑаÑа] dddd [во] LT'; 10581 case 1: 10582 case 2: 10583 case 4: 10584 case 5: 10585 return '[ÐзминаÑиоÑ] dddd [во] LT'; 10586 } 10587 }, 10588 sameElse : 'L' 10589 }, 10590 relativeTime : { 10591 future : 'поÑле %s', 10592 past : 'пÑед %s', 10593 s : 'Ð½ÐµÐºÐ¾Ð»ÐºÑ ÑекÑнди', 10594 ss : '%d ÑекÑнди', 10595 m : 'минÑÑа', 10596 mm : '%d минÑÑи', 10597 h : 'ÑаÑ', 10598 hh : '%d ÑаÑа', 10599 d : 'ден', 10600 dd : '%d дена', 10601 M : 'меÑеÑ', 10602 MM : '%d меÑеÑи', 10603 y : 'година', 10604 yy : '%d години' 10605 }, 10606 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|Ñи|ви|Ñи|ми)/, 10607 ordinal : function (number) { 10608 var lastDigit = number % 10, 10609 last2Digits = number % 100; 10610 if (number === 0) { 10611 return number + '-ев'; 10612 } else if (last2Digits === 0) { 10613 return number + '-ен'; 10614 } else if (last2Digits > 10 && last2Digits < 20) { 10615 return number + '-Ñи'; 10616 } else if (lastDigit === 1) { 10617 return number + '-ви'; 10618 } else if (lastDigit === 2) { 10619 return number + '-Ñи'; 10620 } else if (lastDigit === 7 || lastDigit === 8) { 10621 return number + '-ми'; 10622 } else { 10623 return number + '-Ñи'; 10624 } 10625 }, 10626 week : { 10627 dow : 1, // Monday is the first day of the week. 10628 doy : 7 // The week that contains Jan 7th is the first week of the year. 10629 } 10630 }); 10631 10632 //! moment.js locale configuration 10633 10634 hooks.defineLocale('ml', { 10635 months : 'à´à´¨àµà´µà´°à´¿_à´«àµà´¬àµà´°àµà´µà´°à´¿_മാർà´àµà´àµ_à´à´ªàµà´°à´¿àµ½_à´®àµà´¯àµ_à´àµàµº_à´àµà´²àµ_à´à´à´¸àµà´±àµà´±àµ_à´¸àµà´ªàµà´±àµà´±à´à´¬àµ¼_à´à´àµà´àµà´¬àµ¼_നവà´à´¬àµ¼_à´¡à´¿à´¸à´à´¬àµ¼'.split('_'), 10636 monthsShort : 'à´à´¨àµ._à´«àµà´¬àµà´°àµ._മാർ._à´à´ªàµà´°à´¿._à´®àµà´¯àµ_à´àµàµº_à´àµà´²àµ._à´à´._à´¸àµà´ªàµà´±àµà´±._à´à´àµà´àµ._നവà´._à´¡à´¿à´¸à´.'.split('_'), 10637 monthsParseExact : true, 10638 weekdays : 'à´à´¾à´¯à´±à´¾à´´àµà´_തിà´àµà´à´³à´¾à´´àµà´_à´àµà´µàµà´µà´¾à´´àµà´_à´¬àµà´§à´¨à´¾à´´àµà´_à´µàµà´¯à´¾à´´à´¾à´´àµà´_à´µàµà´³àµà´³à´¿à´¯à´¾à´´àµà´_ശനിയാഴàµà´'.split('_'), 10639 weekdaysShort : 'à´à´¾à´¯àµ¼_തിà´àµà´àµ¾_à´àµà´µàµà´µ_à´¬àµà´§àµ»_à´µàµà´¯à´¾à´´à´_à´µàµà´³àµà´³à´¿_ശനി'.split('_'), 10640 weekdaysMin : 'à´à´¾_തി_à´àµ_à´¬àµ_à´µàµà´¯à´¾_à´µàµ_à´¶'.split('_'), 10641 longDateFormat : { 10642 LT : 'A h:mm -à´¨àµ', 10643 LTS : 'A h:mm:ss -à´¨àµ', 10644 L : 'DD/MM/YYYY', 10645 LL : 'D MMMM YYYY', 10646 LLL : 'D MMMM YYYY, A h:mm -à´¨àµ', 10647 LLLL : 'dddd, D MMMM YYYY, A h:mm -à´¨àµ' 10648 }, 10649 calendar : { 10650 sameDay : '[à´à´¨àµà´¨àµ] LT', 10651 nextDay : '[നാളàµ] LT', 10652 nextWeek : 'dddd, LT', 10653 lastDay : '[à´à´¨àµà´¨à´²àµ] LT', 10654 lastWeek : '[à´à´´à´¿à´àµà´] dddd, LT', 10655 sameElse : 'L' 10656 }, 10657 relativeTime : { 10658 future : '%s à´à´´à´¿à´àµà´àµ', 10659 past : '%s à´®àµàµ»à´ªàµ', 10660 s : 'ഠൽപ നിമിഷà´àµà´àµ¾', 10661 ss : '%d à´¸àµà´àµà´àµ»à´¡àµ', 10662 m : 'à´à´°àµ മിനിറàµà´±àµ', 10663 mm : '%d മിനിറàµà´±àµ', 10664 h : 'à´à´°àµ മണിà´àµà´àµàµ¼', 10665 hh : '%d മണിà´àµà´àµàµ¼', 10666 d : 'à´à´°àµ ദിവസà´', 10667 dd : '%d ദിവസà´', 10668 M : 'à´à´°àµ മാസà´', 10669 MM : '%d മാസà´', 10670 y : 'à´à´°àµ വർഷà´', 10671 yy : '%d വർഷà´' 10672 }, 10673 meridiemParse: /രാതàµà´°à´¿|രാവിലàµ|à´à´àµà´ à´à´´à´¿à´àµà´àµ|à´µàµà´àµà´¨àµà´¨àµà´°à´|രാതàµà´°à´¿/i, 10674 meridiemHour : function (hour, meridiem) { 10675 if (hour === 12) { 10676 hour = 0; 10677 } 10678 if ((meridiem === 'രാതàµà´°à´¿' && hour >= 4) || 10679 meridiem === 'à´à´àµà´ à´à´´à´¿à´àµà´àµ' || 10680 meridiem === 'à´µàµà´àµà´¨àµà´¨àµà´°à´') { 10681 return hour + 12; 10682 } else { 10683 return hour; 10684 } 10685 }, 10686 meridiem : function (hour, minute, isLower) { 10687 if (hour < 4) { 10688 return 'രാതàµà´°à´¿'; 10689 } else if (hour < 12) { 10690 return 'രാവിലàµ'; 10691 } else if (hour < 17) { 10692 return 'à´à´àµà´ à´à´´à´¿à´àµà´àµ'; 10693 } else if (hour < 20) { 10694 return 'à´µàµà´àµà´¨àµà´¨àµà´°à´'; 10695 } else { 10696 return 'രാതàµà´°à´¿'; 10697 } 10698 } 10699 }); 10700 10701 //! moment.js locale configuration 10702 10703 function translate$7(number, withoutSuffix, key, isFuture) { 10704 switch (key) { 10705 case 's': 10706 return withoutSuffix ? 'Ñ ÑÐ´Ñ Ñн ÑекÑнд' : 'Ñ ÑÐ´Ñ Ñн ÑекÑндÑн'; 10707 case 'ss': 10708 return number + (withoutSuffix ? ' ÑекÑнд' : ' ÑекÑндÑн'); 10709 case 'm': 10710 case 'mm': 10711 return number + (withoutSuffix ? ' минÑÑ' : ' минÑÑÑн'); 10712 case 'h': 10713 case 'hh': 10714 return number + (withoutSuffix ? ' Ñаг' : ' Ñагийн'); 10715 case 'd': 10716 case 'dd': 10717 return number + (withoutSuffix ? ' өдөÑ' : ' өдÑийн'); 10718 case 'M': 10719 case 'MM': 10720 return number + (withoutSuffix ? ' ÑаÑ' : ' ÑаÑÑн'); 10721 case 'y': 10722 case 'yy': 10723 return number + (withoutSuffix ? ' жил' : ' жилийн'); 10724 default: 10725 return number; 10726 } 10727 } 10728 10729 hooks.defineLocale('mn', { 10730 months : 'ÐÑгдүгÑÑÑ ÑаÑ_ХоÑÑдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑÑавдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÓ©ÑөвдүгÑÑÑ ÑаÑ_ТавдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑÑгадÑÐ³Ð°Ð°Ñ ÑаÑ_ÐолдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐаймдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑдүгÑÑÑ ÑаÑ_ÐÑавдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑван нÑгдүгÑÑÑ ÑаÑ_ÐÑван Ñ Ð¾ÑÑдÑÐ³Ð°Ð°Ñ ÑаÑ'.split('_'), 10731 monthsShort : '1 ÑаÑ_2 ÑаÑ_3 ÑаÑ_4 ÑаÑ_5 ÑаÑ_6 ÑаÑ_7 ÑаÑ_8 ÑаÑ_9 ÑаÑ_10 ÑаÑ_11 ÑаÑ_12 ÑаÑ'.split('_'), 10732 monthsParseExact : true, 10733 weekdays : 'ÐÑм_Ðаваа_ÐÑгмаÑ_ÐÑ Ð°Ð³Ð²Ð°_ÐÒ¯ÑÑв_ÐааÑан_ÐÑмба'.split('_'), 10734 weekdaysShort : 'ÐÑм_Ðав_ÐÑг_ÐÑ Ð°_ÐÒ¯Ñ_Ðаа_ÐÑм'.split('_'), 10735 weekdaysMin : 'ÐÑ_Ðа_ÐÑ_ÐÑ _ÐÒ¯_Ðа_ÐÑ'.split('_'), 10736 weekdaysParseExact : true, 10737 longDateFormat : { 10738 LT : 'HH:mm', 10739 LTS : 'HH:mm:ss', 10740 L : 'YYYY-MM-DD', 10741 LL : 'YYYY Ð¾Ð½Ñ MMMMÑн D', 10742 LLL : 'YYYY Ð¾Ð½Ñ MMMMÑн D HH:mm', 10743 LLLL : 'dddd, YYYY Ð¾Ð½Ñ MMMMÑн D HH:mm' 10744 }, 10745 meridiemParse: /Ò®Ó¨|ҮХ/i, 10746 isPM : function (input) { 10747 return input === 'ҮХ'; 10748 }, 10749 meridiem : function (hour, minute, isLower) { 10750 if (hour < 12) { 10751 return 'Ò®Ó¨'; 10752 } else { 10753 return 'ҮХ'; 10754 } 10755 }, 10756 calendar : { 10757 sameDay : '[ӨнөөдөÑ] LT', 10758 nextDay : '[ÐаÑгааÑ] LT', 10759 nextWeek : '[ÐÑÑÑ ] dddd LT', 10760 lastDay : '[Ó¨ÑигдөÑ] LT', 10761 lastWeek : '[ӨнгөÑÑөн] dddd LT', 10762 sameElse : 'L' 10763 }, 10764 relativeTime : { 10765 future : '%s даÑаа', 10766 past : '%s өмнө', 10767 s : translate$7, 10768 ss : translate$7, 10769 m : translate$7, 10770 mm : translate$7, 10771 h : translate$7, 10772 hh : translate$7, 10773 d : translate$7, 10774 dd : translate$7, 10775 M : translate$7, 10776 MM : translate$7, 10777 y : translate$7, 10778 yy : translate$7 10779 }, 10780 dayOfMonthOrdinalParse: /\d{1,2} өдөÑ/, 10781 ordinal : function (number, period) { 10782 switch (period) { 10783 case 'd': 10784 case 'D': 10785 case 'DDD': 10786 return number + ' өдөÑ'; 10787 default: 10788 return number; 10789 } 10790 } 10791 }); 10792 10793 //! moment.js locale configuration 10794 10795 var symbolMap$b = { 10796 '1': '१', 10797 '2': '२', 10798 '3': '३', 10799 '4': '४', 10800 '5': '५', 10801 '6': '६', 10802 '7': 'à¥', 10803 '8': '८', 10804 '9': '९', 10805 '0': '०' 10806 }, 10807 numberMap$a = { 10808 '१': '1', 10809 '२': '2', 10810 '३': '3', 10811 '४': '4', 10812 '५': '5', 10813 '६': '6', 10814 'à¥': '7', 10815 '८': '8', 10816 '९': '9', 10817 '०': '0' 10818 }; 10819 10820 function relativeTimeMr(number, withoutSuffix, string, isFuture) 10821 { 10822 var output = ''; 10823 if (withoutSuffix) { 10824 switch (string) { 10825 case 's': output = 'à¤à¤¾à¤¹à¥ सà¥à¤à¤à¤¦'; break; 10826 case 'ss': output = '%d सà¥à¤à¤à¤¦'; break; 10827 case 'm': output = 'à¤à¤ मिनिà¤'; break; 10828 case 'mm': output = '%d मिनिà¤à¥'; break; 10829 case 'h': output = 'à¤à¤ तास'; break; 10830 case 'hh': output = '%d तास'; break; 10831 case 'd': output = 'à¤à¤ दिवस'; break; 10832 case 'dd': output = '%d दिवस'; break; 10833 case 'M': output = 'à¤à¤ महिना'; break; 10834 case 'MM': output = '%d महिनà¥'; break; 10835 case 'y': output = 'à¤à¤ वरà¥à¤·'; break; 10836 case 'yy': output = '%d वरà¥à¤·à¥'; break; 10837 } 10838 } 10839 else { 10840 switch (string) { 10841 case 's': output = 'à¤à¤¾à¤¹à¥ सà¥à¤à¤à¤¦à¤¾à¤'; break; 10842 case 'ss': output = '%d सà¥à¤à¤à¤¦à¤¾à¤'; break; 10843 case 'm': output = 'à¤à¤à¤¾ मिनिà¤à¤¾'; break; 10844 case 'mm': output = '%d मिनिà¤à¤¾à¤'; break; 10845 case 'h': output = 'à¤à¤à¤¾ तासा'; break; 10846 case 'hh': output = '%d तासाà¤'; break; 10847 case 'd': output = 'à¤à¤à¤¾ दिवसा'; break; 10848 case 'dd': output = '%d दिवसाà¤'; break; 10849 case 'M': output = 'à¤à¤à¤¾ महिनà¥à¤¯à¤¾'; break; 10850 case 'MM': output = '%d महिनà¥à¤¯à¤¾à¤'; break; 10851 case 'y': output = 'à¤à¤à¤¾ वरà¥à¤·à¤¾'; break; 10852 case 'yy': output = '%d वरà¥à¤·à¤¾à¤'; break; 10853 } 10854 } 10855 return output.replace(/%d/i, number); 10856 } 10857 10858 hooks.defineLocale('mr', { 10859 months : 'à¤à¤¾à¤¨à¥à¤µà¤¾à¤°à¥_फà¥à¤¬à¥à¤°à¥à¤µà¤¾à¤°à¥_मारà¥à¤_à¤à¤ªà¥à¤°à¤¿à¤²_मà¥_à¤à¥à¤¨_à¤à¥à¤²à¥_à¤à¤à¤¸à¥à¤_सपà¥à¤à¥à¤à¤¬à¤°_à¤à¤à¥à¤à¥à¤¬à¤°_नà¥à¤µà¥à¤¹à¥à¤à¤¬à¤°_डिसà¥à¤à¤¬à¤°'.split('_'), 10860 monthsShort: 'à¤à¤¾à¤¨à¥._फà¥à¤¬à¥à¤°à¥._मारà¥à¤._à¤à¤ªà¥à¤°à¤¿._मà¥._à¤à¥à¤¨._à¤à¥à¤²à¥._à¤à¤._सपà¥à¤à¥à¤._à¤à¤à¥à¤à¥._नà¥à¤µà¥à¤¹à¥à¤._डिसà¥à¤.'.split('_'), 10861 monthsParseExact : true, 10862 weekdays : 'रविवार_सà¥à¤®à¤µà¤¾à¤°_मà¤à¤à¤³à¤µà¤¾à¤°_बà¥à¤§à¤µà¤¾à¤°_à¤à¥à¤°à¥à¤µà¤¾à¤°_शà¥à¤à¥à¤°à¤µà¤¾à¤°_शनिवार'.split('_'), 10863 weekdaysShort : 'रवि_सà¥à¤®_मà¤à¤à¤³_बà¥à¤§_à¤à¥à¤°à¥_शà¥à¤à¥à¤°_शनि'.split('_'), 10864 weekdaysMin : 'र_सà¥_मà¤_बà¥_à¤à¥_शà¥_श'.split('_'), 10865 longDateFormat : { 10866 LT : 'A h:mm वाà¤à¤¤à¤¾', 10867 LTS : 'A h:mm:ss वाà¤à¤¤à¤¾', 10868 L : 'DD/MM/YYYY', 10869 LL : 'D MMMM YYYY', 10870 LLL : 'D MMMM YYYY, A h:mm वाà¤à¤¤à¤¾', 10871 LLLL : 'dddd, D MMMM YYYY, A h:mm वाà¤à¤¤à¤¾' 10872 }, 10873 calendar : { 10874 sameDay : '[à¤à¤] LT', 10875 nextDay : '[à¤à¤¦à¥à¤¯à¤¾] LT', 10876 nextWeek : 'dddd, LT', 10877 lastDay : '[à¤à¤¾à¤²] LT', 10878 lastWeek: '[माà¤à¥à¤²] dddd, LT', 10879 sameElse : 'L' 10880 }, 10881 relativeTime : { 10882 future: '%sमधà¥à¤¯à¥', 10883 past: '%sपà¥à¤°à¥à¤µà¥', 10884 s: relativeTimeMr, 10885 ss: relativeTimeMr, 10886 m: relativeTimeMr, 10887 mm: relativeTimeMr, 10888 h: relativeTimeMr, 10889 hh: relativeTimeMr, 10890 d: relativeTimeMr, 10891 dd: relativeTimeMr, 10892 M: relativeTimeMr, 10893 MM: relativeTimeMr, 10894 y: relativeTimeMr, 10895 yy: relativeTimeMr 10896 }, 10897 preparse: function (string) { 10898 return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { 10899 return numberMap$a[match]; 10900 }); 10901 }, 10902 postformat: function (string) { 10903 return string.replace(/\d/g, function (match) { 10904 return symbolMap$b[match]; 10905 }); 10906 }, 10907 meridiemParse: /रातà¥à¤°à¥|सà¤à¤¾à¤³à¥|दà¥à¤ªà¤¾à¤°à¥|सायà¤à¤à¤¾à¤³à¥/, 10908 meridiemHour : function (hour, meridiem) { 10909 if (hour === 12) { 10910 hour = 0; 10911 } 10912 if (meridiem === 'रातà¥à¤°à¥') { 10913 return hour < 4 ? hour : hour + 12; 10914 } else if (meridiem === 'सà¤à¤¾à¤³à¥') { 10915 return hour; 10916 } else if (meridiem === 'दà¥à¤ªà¤¾à¤°à¥') { 10917 return hour >= 10 ? hour : hour + 12; 10918 } else if (meridiem === 'सायà¤à¤à¤¾à¤³à¥') { 10919 return hour + 12; 10920 } 10921 }, 10922 meridiem: function (hour, minute, isLower) { 10923 if (hour < 4) { 10924 return 'रातà¥à¤°à¥'; 10925 } else if (hour < 10) { 10926 return 'सà¤à¤¾à¤³à¥'; 10927 } else if (hour < 17) { 10928 return 'दà¥à¤ªà¤¾à¤°à¥'; 10929 } else if (hour < 20) { 10930 return 'सायà¤à¤à¤¾à¤³à¥'; 10931 } else { 10932 return 'रातà¥à¤°à¥'; 10933 } 10934 }, 10935 week : { 10936 dow : 0, // Sunday is the first day of the week. 10937 doy : 6 // The week that contains Jan 6th is the first week of the year. 10938 } 10939 }); 10940 10941 //! moment.js locale configuration 10942 10943 hooks.defineLocale('ms-my', { 10944 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), 10945 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), 10946 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), 10947 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), 10948 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), 10949 longDateFormat : { 10950 LT : 'HH.mm', 10951 LTS : 'HH.mm.ss', 10952 L : 'DD/MM/YYYY', 10953 LL : 'D MMMM YYYY', 10954 LLL : 'D MMMM YYYY [pukul] HH.mm', 10955 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' 10956 }, 10957 meridiemParse: /pagi|tengahari|petang|malam/, 10958 meridiemHour: function (hour, meridiem) { 10959 if (hour === 12) { 10960 hour = 0; 10961 } 10962 if (meridiem === 'pagi') { 10963 return hour; 10964 } else if (meridiem === 'tengahari') { 10965 return hour >= 11 ? hour : hour + 12; 10966 } else if (meridiem === 'petang' || meridiem === 'malam') { 10967 return hour + 12; 10968 } 10969 }, 10970 meridiem : function (hours, minutes, isLower) { 10971 if (hours < 11) { 10972 return 'pagi'; 10973 } else if (hours < 15) { 10974 return 'tengahari'; 10975 } else if (hours < 19) { 10976 return 'petang'; 10977 } else { 10978 return 'malam'; 10979 } 10980 }, 10981 calendar : { 10982 sameDay : '[Hari ini pukul] LT', 10983 nextDay : '[Esok pukul] LT', 10984 nextWeek : 'dddd [pukul] LT', 10985 lastDay : '[Kelmarin pukul] LT', 10986 lastWeek : 'dddd [lepas pukul] LT', 10987 sameElse : 'L' 10988 }, 10989 relativeTime : { 10990 future : 'dalam %s', 10991 past : '%s yang lepas', 10992 s : 'beberapa saat', 10993 ss : '%d saat', 10994 m : 'seminit', 10995 mm : '%d minit', 10996 h : 'sejam', 10997 hh : '%d jam', 10998 d : 'sehari', 10999 dd : '%d hari', 11000 M : 'sebulan', 11001 MM : '%d bulan', 11002 y : 'setahun', 11003 yy : '%d tahun' 11004 }, 11005 week : { 11006 dow : 1, // Monday is the first day of the week. 11007 doy : 7 // The week that contains Jan 7th is the first week of the year. 11008 } 11009 }); 11010 11011 //! moment.js locale configuration 11012 11013 hooks.defineLocale('ms', { 11014 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), 11015 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), 11016 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), 11017 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), 11018 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), 11019 longDateFormat : { 11020 LT : 'HH.mm', 11021 LTS : 'HH.mm.ss', 11022 L : 'DD/MM/YYYY', 11023 LL : 'D MMMM YYYY', 11024 LLL : 'D MMMM YYYY [pukul] HH.mm', 11025 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' 11026 }, 11027 meridiemParse: /pagi|tengahari|petang|malam/, 11028 meridiemHour: function (hour, meridiem) { 11029 if (hour === 12) { 11030 hour = 0; 11031 } 11032 if (meridiem === 'pagi') { 11033 return hour; 11034 } else if (meridiem === 'tengahari') { 11035 return hour >= 11 ? hour : hour + 12; 11036 } else if (meridiem === 'petang' || meridiem === 'malam') { 11037 return hour + 12; 11038 } 11039 }, 11040 meridiem : function (hours, minutes, isLower) { 11041 if (hours < 11) { 11042 return 'pagi'; 11043 } else if (hours < 15) { 11044 return 'tengahari'; 11045 } else if (hours < 19) { 11046 return 'petang'; 11047 } else { 11048 return 'malam'; 11049 } 11050 }, 11051 calendar : { 11052 sameDay : '[Hari ini pukul] LT', 11053 nextDay : '[Esok pukul] LT', 11054 nextWeek : 'dddd [pukul] LT', 11055 lastDay : '[Kelmarin pukul] LT', 11056 lastWeek : 'dddd [lepas pukul] LT', 11057 sameElse : 'L' 11058 }, 11059 relativeTime : { 11060 future : 'dalam %s', 11061 past : '%s yang lepas', 11062 s : 'beberapa saat', 11063 ss : '%d saat', 11064 m : 'seminit', 11065 mm : '%d minit', 11066 h : 'sejam', 11067 hh : '%d jam', 11068 d : 'sehari', 11069 dd : '%d hari', 11070 M : 'sebulan', 11071 MM : '%d bulan',
11072 y : 'setahun', 11073 yy : '%d tahun' 11074 }, 11075 week : { 11076 dow : 1, // Monday is the first day of the week. 11077 doy : 7 // The week that contains Jan 7th is the first week of the year. 11078 } 11079 }); 11080 11081 //! moment.js locale configuration 11082 11083 hooks.defineLocale('mt', { 11084 months : 'Jannar_Frar_Marzu_April_Mejju_Ä unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_DiÄembru'.split('_'), 11085 monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ä un_Lul_Aww_Set_Ott_Nov_DiÄ'.split('_'), 11086 weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ä imgħa_Is-Sibt'.split('_'), 11087 weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ä im_Sib'.split('_'), 11088 weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ä i_Si'.split('_'), 11089 longDateFormat : { 11090 LT : 'HH:mm', 11091 LTS : 'HH:mm:ss', 11092 L : 'DD/MM/YYYY', 11093 LL : 'D MMMM YYYY', 11094 LLL : 'D MMMM YYYY HH:mm', 11095 LLLL : 'dddd, D MMMM YYYY HH:mm' 11096 }, 11097 calendar : { 11098 sameDay : '[Illum fil-]LT', 11099 nextDay : '[Għada fil-]LT', 11100 nextWeek : 'dddd [fil-]LT', 11101 lastDay : '[Il-bieraħ fil-]LT', 11102 lastWeek : 'dddd [li għadda] [fil-]LT', 11103 sameElse : 'L' 11104 }, 11105 relativeTime : { 11106 future : 'fâ %s', 11107 past : '%s ilu', 11108 s : 'ftit sekondi', 11109 ss : '%d sekondi', 11110 m : 'minuta', 11111 mm : '%d minuti', 11112 h : 'siegħa', 11113 hh : '%d siegħat', 11114 d : 'Ä¡urnata', 11115 dd : '%d Ä¡ranet', 11116 M : 'xahar', 11117 MM : '%d xhur', 11118 y : 'sena', 11119 yy : '%d sni' 11120 }, 11121 dayOfMonthOrdinalParse : /\d{1,2}º/, 11122 ordinal: '%dº', 11123 week : { 11124 dow : 1, // Monday is the first day of the week. 11125 doy : 4 // The week that contains Jan 4th is the first week of the year. 11126 } 11127 }); 11128 11129 //! moment.js locale configuration 11130 11131 var symbolMap$c = { 11132 '1': 'á', 11133 '2': 'á', 11134 '3': 'á', 11135 '4': 'á', 11136 '5': 'á ', 11137 '6': 'á', 11138 '7': 'á', 11139 '8': 'á', 11140 '9': 'á', 11141 '0': 'á' 11142 }, numberMap$b = { 11143 'á': '1', 11144 'á': '2', 11145 'á': '3', 11146 'á': '4', 11147 'á ': '5', 11148 'á': '6', 11149 'á': '7', 11150 'á': '8', 11151 'á': '9', 11152 'á': '0' 11153 }; 11154 11155 hooks.defineLocale('my', { 11156 months: 'áááºááá«áá®_áá±áá±á¬áºáá«áá®_áááº_á§áá¼á®_áá±_áá½ááº_áá°ááá¯ááº_áá¼áá¯ááº_á ááºáááºáá¬_á¡á±á¬ááºááá¯áá¬_ááá¯áááºáá¬_áá®áááºáá¬'.split('_'), 11157 monthsShort: 'áááº_áá±_áááº_áá¼á®_áá±_áá½ááº_ááá¯ááº_áá¼_á ááº_á¡á±á¬ááº_ááá¯_áá®'.split('_'), 11158 weekdays: 'ááááºá¹ááá½á±_ááááºá¹áá¬_á¡ááºá¹áá«_áá¯áá¹ááá°á¸_áá¼á¬áááá±á¸_áá±á¬áá¼á¬_á áá±'.split('_'), 11159 weekdaysShort: 'áá½á±_áá¬_áá«_áá°á¸_áá¼á¬_áá±á¬_áá±'.split('_'), 11160 weekdaysMin: 'áá½á±_áá¬_áá«_áá°á¸_áá¼á¬_áá±á¬_áá±'.split('_'), 11161 11162 longDateFormat: { 11163 LT: 'HH:mm', 11164 LTS: 'HH:mm:ss', 11165 L: 'DD/MM/YYYY', 11166 LL: 'D MMMM YYYY', 11167 LLL: 'D MMMM YYYY HH:mm', 11168 LLLL: 'dddd D MMMM YYYY HH:mm' 11169 }, 11170 calendar: { 11171 sameDay: '[ááá±.] LT [áá¾á¬]', 11172 nextDay: '[ááááºáá¼ááº] LT [áá¾á¬]', 11173 nextWeek: 'dddd LT [áá¾á¬]', 11174 lastDay: '[ááá±.á] LT [áá¾á¬]', 11175 lastWeek: '[áá¼á®á¸áá²á·áá±á¬] dddd LT [áá¾á¬]', 11176 sameElse: 'L' 11177 }, 11178 relativeTime: { 11179 future: 'áá¬áááºá· %s áá¾á¬', 11180 past: 'áá½ááºáá²á·áá±á¬ %s á', 11181 s: 'á áá¹áááº.á¡áááºá¸áááº', 11182 ss : '%d á áá¹ááá·áº', 11183 m: 'áá áºáááá áº', 11184 mm: '%d áááá áº', 11185 h: 'áá áºáá¬áá®', 11186 hh: '%d áá¬áá®', 11187 d: 'áá áºáááº', 11188 dd: '%d áááº', 11189 M: 'áá áºá', 11190 MM: '%d á', 11191 y: 'áá áºáá¾á áº', 11192 yy: '%d áá¾á áº' 11193 }, 11194 preparse: function (string) { 11195 return string.replace(/[ááááá ááááá]/g, function (match) { 11196 return numberMap$b[match]; 11197 }); 11198 }, 11199 postformat: function (string) { 11200 return string.replace(/\d/g, function (match) { 11201 return symbolMap$c[match]; 11202 }); 11203 }, 11204 week: { 11205 dow: 1, // Monday is the first day of the week. 11206 doy: 4 // The week that contains Jan 4th is the first week of the year. 11207 } 11208 }); 11209 11210 //! moment.js locale configuration 11211 11212 hooks.defineLocale('nb', { 11213 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 11214 monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), 11215 monthsParseExact : true, 11216 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 11217 weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'), 11218 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), 11219 weekdaysParseExact : true, 11220 longDateFormat : { 11221 LT : 'HH:mm', 11222 LTS : 'HH:mm:ss', 11223 L : 'DD.MM.YYYY', 11224 LL : 'D. MMMM YYYY', 11225 LLL : 'D. MMMM YYYY [kl.] HH:mm', 11226 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' 11227 }, 11228 calendar : { 11229 sameDay: '[i dag kl.] LT', 11230 nextDay: '[i morgen kl.] LT', 11231 nextWeek: 'dddd [kl.] LT', 11232 lastDay: '[i gÃ¥r kl.] LT', 11233 lastWeek: '[forrige] dddd [kl.] LT', 11234 sameElse: 'L' 11235 }, 11236 relativeTime : { 11237 future : 'om %s', 11238 past : '%s siden', 11239 s : 'noen sekunder', 11240 ss : '%d sekunder', 11241 m : 'ett minutt', 11242 mm : '%d minutter', 11243 h : 'en time', 11244 hh : '%d timer', 11245 d : 'en dag', 11246 dd : '%d dager', 11247 M : 'en mÃ¥ned', 11248 MM : '%d mÃ¥neder', 11249 y : 'ett Ã¥r', 11250 yy : '%d Ã¥r' 11251 }, 11252 dayOfMonthOrdinalParse: /\d{1,2}\./, 11253 ordinal : '%d.', 11254 week : { 11255 dow : 1, // Monday is the first day of the week. 11256 doy : 4 // The week that contains Jan 4th is the first week of the year. 11257 } 11258 }); 11259 11260 //! moment.js locale configuration 11261 11262 var symbolMap$d = { 11263 '1': '१', 11264 '2': '२', 11265 '3': '३', 11266 '4': '४', 11267 '5': '५', 11268 '6': '६', 11269 '7': 'à¥', 11270 '8': '८', 11271 '9': '९', 11272 '0': '०' 11273 }, 11274 numberMap$c = { 11275 '१': '1', 11276 '२': '2', 11277 '३': '3', 11278 '४': '4', 11279 '५': '5', 11280 '६': '6', 11281 'à¥': '7', 11282 '८': '8', 11283 '९': '9', 11284 '०': '0' 11285 }; 11286 11287 hooks.defineLocale('ne', { 11288 months : 'à¤à¤¨à¤µà¤°à¥_फà¥à¤¬à¥à¤°à¥à¤µà¤°à¥_मारà¥à¤_ठपà¥à¤°à¤¿à¤²_मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤_ठà¤à¤·à¥à¤_सà¥à¤ªà¥à¤à¥à¤®à¥à¤¬à¤°_ठà¤à¥à¤à¥à¤¬à¤°_नà¥à¤à¥à¤®à¥à¤¬à¤°_डिसà¥à¤®à¥à¤¬à¤°'.split('_'), 11289 monthsShort : 'à¤à¤¨._फà¥à¤¬à¥à¤°à¥._मारà¥à¤_ठपà¥à¤°à¤¿._मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤._ठà¤._सà¥à¤ªà¥à¤._ठà¤à¥à¤à¥._नà¥à¤à¥._डिसà¥.'.split('_'), 11290 monthsParseExact : true, 11291 weekdays : 'à¤à¤à¤¤à¤¬à¤¾à¤°_सà¥à¤®à¤¬à¤¾à¤°_मà¤à¥à¤à¤²à¤¬à¤¾à¤°_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split('_'), 11292 weekdaysShort : 'à¤à¤à¤¤._सà¥à¤®._मà¤à¥à¤à¤²._बà¥à¤§._बिहि._शà¥à¤à¥à¤°._शनि.'.split('_'), 11293 weekdaysMin : 'à¤._सà¥._मà¤._बà¥._बि._शà¥._श.'.split('_'), 11294 weekdaysParseExact : true, 11295 longDateFormat : { 11296 LT : 'Aà¤à¥ h:mm बà¤à¥', 11297 LTS : 'Aà¤à¥ h:mm:ss बà¤à¥', 11298 L : 'DD/MM/YYYY', 11299 LL : 'D MMMM YYYY', 11300 LLL : 'D MMMM YYYY, Aà¤à¥ h:mm बà¤à¥', 11301 LLLL : 'dddd, D MMMM YYYY, Aà¤à¥ h:mm बà¤à¥' 11302 }, 11303 preparse: function (string) { 11304 return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { 11305 return numberMap$c[match]; 11306 }); 11307 }, 11308 postformat: function (string) { 11309 return string.replace(/\d/g, function (match) { 11310 return symbolMap$d[match]; 11311 }); 11312 },
vendor: 97,659 bytes, lines 11313-13793
11313 meridiemParse: /राति|बिहान|दिà¤à¤à¤¸à¥|साà¤à¤/, 11314 meridiemHour : function (hour, meridiem) { 11315 if (hour === 12) { 11316 hour = 0; 11317 } 11318 if (meridiem === 'राति') { 11319 return hour < 4 ? hour : hour + 12; 11320 } else if (meridiem === 'बिहान') { 11321 return hour; 11322 } else if (meridiem === 'दिà¤à¤à¤¸à¥') { 11323 return hour >= 10 ? hour : hour + 12; 11324 } else if (meridiem === 'साà¤à¤') { 11325 return hour + 12; 11326 } 11327 }, 11328 meridiem : function (hour, minute, isLower) { 11329 if (hour < 3) { 11330 return 'राति'; 11331 } else if (hour < 12) { 11332 return 'बिहान'; 11333 } else if (hour < 16) { 11334 return 'दिà¤à¤à¤¸à¥'; 11335 } else if (hour < 20) { 11336 return 'साà¤à¤'; 11337 } else { 11338 return 'राति'; 11339 } 11340 }, 11341 calendar : { 11342 sameDay : '[à¤à¤] LT', 11343 nextDay : '[à¤à¥à¤²à¤¿] LT', 11344 nextWeek : '[à¤à¤à¤à¤¦à¥] dddd[,] LT', 11345 lastDay : '[हिà¤à¥] LT', 11346 lastWeek : '[à¤à¤à¤à¥] dddd[,] LT', 11347 sameElse : 'L' 11348 }, 11349 relativeTime : { 11350 future : '%sमा', 11351 past : '%s ठà¤à¤¾à¤¡à¤¿', 11352 s : 'à¤à¥à¤¹à¥ à¤à¥à¤·à¤£', 11353 ss : '%d सà¥à¤à¥à¤£à¥à¤¡', 11354 m : 'à¤à¤ मिनà¥à¤', 11355 mm : '%d मिनà¥à¤', 11356 h : 'à¤à¤ à¤à¤£à¥à¤à¤¾', 11357 hh : '%d à¤à¤£à¥à¤à¤¾', 11358 d : 'à¤à¤ दिन', 11359 dd : '%d दिन', 11360 M : 'à¤à¤ महिना', 11361 MM : '%d महिना', 11362 y : 'à¤à¤ बरà¥à¤·', 11363 yy : '%d बरà¥à¤·' 11364 }, 11365 week : { 11366 dow : 0, // Sunday is the first day of the week. 11367 doy : 6 // The week that contains Jan 6th is the first week of the year. 11368 } 11369 }); 11370 11371 //! moment.js locale configuration 11372 11373 var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), 11374 monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); 11375 11376 var monthsParse$4 = [/^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]; 11377 var monthsRegex$5 = /^(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; 11378 11379 hooks.defineLocale('nl-be', { 11380 months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), 11381 monthsShort : function (m, format) { 11382 if (!m) { 11383 return monthsShortWithDots$1; 11384 } else if (/-MMM-/.test(format)) { 11385 return monthsShortWithoutDots$1[m.month()]; 11386 } else { 11387 return monthsShortWithDots$1[m.month()]; 11388 } 11389 }, 11390 11391 monthsRegex: monthsRegex$5, 11392 monthsShortRegex: monthsRegex$5, 11393 monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, 11394 monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, 11395 11396 monthsParse : monthsParse$4, 11397 longMonthsParse : monthsParse$4, 11398 shortMonthsParse : monthsParse$4, 11399 11400 weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), 11401 weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'), 11402 weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'), 11403 weekdaysParseExact : true, 11404 longDateFormat : { 11405 LT : 'HH:mm', 11406 LTS : 'HH:mm:ss', 11407 L : 'DD/MM/YYYY', 11408 LL : 'D MMMM YYYY', 11409 LLL : 'D MMMM YYYY HH:mm', 11410 LLLL : 'dddd D MMMM YYYY HH:mm' 11411 }, 11412 calendar : { 11413 sameDay: '[vandaag om] LT', 11414 nextDay: '[morgen om] LT', 11415 nextWeek: 'dddd [om] LT', 11416 lastDay: '[gisteren om] LT', 11417 lastWeek: '[afgelopen] dddd [om] LT', 11418 sameElse: 'L' 11419 }, 11420 relativeTime : { 11421 future : 'over %s', 11422 past : '%s geleden', 11423 s : 'een paar seconden', 11424 ss : '%d seconden', 11425 m : 'één minuut', 11426 mm : '%d minuten', 11427 h : 'één uur', 11428 hh : '%d uur', 11429 d : 'één dag', 11430 dd : '%d dagen', 11431 M : 'één maand', 11432 MM : '%d maanden', 11433 y : 'één jaar', 11434 yy : '%d jaar' 11435 }, 11436 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 11437 ordinal : function (number) { 11438 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); 11439 }, 11440 week : { 11441 dow : 1, // Monday is the first day of the week. 11442 doy : 4 // The week that contains Jan 4th is the first week of the year. 11443 } 11444 }); 11445 11446 //! moment.js locale configuration 11447 11448 var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), 11449 monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); 11450 11451 var monthsParse$5 = [/^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]; 11452 var monthsRegex$6 = /^(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; 11453 11454 hooks.defineLocale('nl', { 11455 months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), 11456 monthsShort : function (m, format) { 11457 if (!m) { 11458 return monthsShortWithDots$2; 11459 } else if (/-MMM-/.test(format)) { 11460 return monthsShortWithoutDots$2[m.month()]; 11461 } else { 11462 return monthsShortWithDots$2[m.month()]; 11463 } 11464 }, 11465 11466 monthsRegex: monthsRegex$6, 11467 monthsShortRegex: monthsRegex$6, 11468 monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, 11469 monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, 11470 11471 monthsParse : monthsParse$5, 11472 longMonthsParse : monthsParse$5, 11473 shortMonthsParse : monthsParse$5, 11474 11475 weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), 11476 weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'), 11477 weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'), 11478 weekdaysParseExact : true, 11479 longDateFormat : { 11480 LT : 'HH:mm', 11481 LTS : 'HH:mm:ss', 11482 L : 'DD-MM-YYYY', 11483 LL : 'D MMMM YYYY', 11484 LLL : 'D MMMM YYYY HH:mm', 11485 LLLL : 'dddd D MMMM YYYY HH:mm' 11486 }, 11487 calendar : { 11488 sameDay: '[vandaag om] LT', 11489 nextDay: '[morgen om] LT', 11490 nextWeek: 'dddd [om] LT', 11491 lastDay: '[gisteren om] LT', 11492 lastWeek: '[afgelopen] dddd [om] LT', 11493 sameElse: 'L' 11494 }, 11495 relativeTime : { 11496 future : 'over %s', 11497 past : '%s geleden', 11498 s : 'een paar seconden', 11499 ss : '%d seconden', 11500 m : 'één minuut', 11501 mm : '%d minuten', 11502 h : 'één uur', 11503 hh : '%d uur', 11504 d : 'één dag', 11505 dd : '%d dagen', 11506 M : 'één maand', 11507 MM : '%d maanden', 11508 y : 'één jaar', 11509 yy : '%d jaar' 11510 }, 11511 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 11512 ordinal : function (number) { 11513 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); 11514 }, 11515 week : { 11516 dow : 1, // Monday is the first day of the week. 11517 doy : 4 // The week that contains Jan 4th is the first week of the year. 11518 } 11519 }); 11520 11521 //! moment.js locale configuration 11522 11523 hooks.defineLocale('nn', { 11524 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 11525 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 11526 weekdays : 'sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), 11527 weekdaysShort : 'sun_mÃ¥n_tys_ons_tor_fre_lau'.split('_'), 11528 weekdaysMin : 'su_mÃ¥_ty_on_to_fr_lø'.split('_'), 11529 longDateFormat : { 11530 LT : 'HH:mm', 11531 LTS : 'HH:mm:ss', 11532 L : 'DD.MM.YYYY', 11533 LL : 'D. MMMM YYYY', 11534 LLL : 'D. MMMM YYYY [kl.] H:mm', 11535 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' 11536 }, 11537 calendar : { 11538 sameDay: '[I dag klokka] LT', 11539 nextDay: '[I morgon klokka] LT', 11540 nextWeek: 'dddd [klokka] LT', 11541 lastDay: '[I gÃ¥r klokka] LT', 11542 lastWeek: '[FøregÃ¥ande] dddd [klokka] LT', 11543 sameElse: 'L' 11544 }, 11545 relativeTime : { 11546 future : 'om %s', 11547 past : '%s sidan', 11548 s : 'nokre sekund', 11549 ss : '%d sekund', 11550 m : 'eit minutt', 11551 mm : '%d minutt', 11552 h : 'ein time', 11553 hh : '%d timar', 11554 d : 'ein dag', 11555 dd : '%d dagar', 11556 M : 'ein mÃ¥nad', 11557 MM : '%d mÃ¥nader', 11558 y : 'eit Ã¥r', 11559 yy : '%d Ã¥r' 11560 }, 11561 dayOfMonthOrdinalParse: /\d{1,2}\./, 11562 ordinal : '%d.', 11563 week : { 11564 dow : 1, // Monday is the first day of the week. 11565 doy : 4 // The week that contains Jan 4th is the first week of the year. 11566 } 11567 }); 11568 11569 //! moment.js locale configuration 11570 11571 var symbolMap$e = { 11572 '1': 'à©§', 11573 '2': '੨', 11574 '3': 'à©©', 11575 '4': '੪', 11576 '5': 'à©«', 11577 '6': '੬', 11578 '7': 'à©', 11579 '8': 'à©®', 11580 '9': '੯', 11581 '0': '੦' 11582 }, 11583 numberMap$d = { 11584 'à©§': '1', 11585 '੨': '2', 11586 'à©©': '3', 11587 '੪': '4', 11588 'à©«': '5', 11589 '੬': '6', 11590 'à©': '7', 11591 'à©®': '8', 11592 '੯': '9', 11593 '੦': '0' 11594 }; 11595 11596 hooks.defineLocale('pa-in', { 11597 // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. 11598 months : 'à¨à¨¨à¨µà¨°à©_ਫ਼ਰਵਰà©_ਮਾਰà¨_ਠਪà©à¨°à©à¨²_ਮà¨_à¨à©à¨¨_à¨à©à¨²à¨¾à¨_ਠà¨à¨¸à¨¤_ਸਤੰਬਰ_ਠà¨à¨¤à©à¨¬à¨°_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), 11599 monthsShort : 'à¨à¨¨à¨µà¨°à©_ਫ਼ਰਵਰà©_ਮਾਰà¨_ਠਪà©à¨°à©à¨²_ਮà¨_à¨à©à¨¨_à¨à©à¨²à¨¾à¨_ਠà¨à¨¸à¨¤_ਸਤੰਬਰ_ਠà¨à¨¤à©à¨¬à¨°_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), 11600 weekdays : 'à¨à¨¤à¨µà¨¾à¨°_ਸà©à¨®à¨µà¨¾à¨°_ਮੰà¨à¨²à¨µà¨¾à¨°_ਬà©à¨§à¨µà¨¾à¨°_ਵà©à¨°à¨µà¨¾à¨°_ਸ਼à©à©±à¨à¨°à¨µà¨¾à¨°_ਸ਼ਨà©à¨à¨°à¨µà¨¾à¨°'.split('_'), 11601 weekdaysShort : 'à¨à¨¤_ਸà©à¨®_ਮੰà¨à¨²_ਬà©à¨§_ਵà©à¨°_ਸ਼à©à¨à¨°_ਸ਼ਨà©'.split('_'), 11602 weekdaysMin : 'à¨à¨¤_ਸà©à¨®_ਮੰà¨à¨²_ਬà©à¨§_ਵà©à¨°_ਸ਼à©à¨à¨°_ਸ਼ਨà©'.split('_'), 11603 longDateFormat : { 11604 LT : 'A h:mm ਵà¨à©', 11605 LTS : 'A h:mm:ss ਵà¨à©', 11606 L : 'DD/MM/YYYY', 11607 LL : 'D MMMM YYYY', 11608 LLL : 'D MMMM YYYY, A h:mm ਵà¨à©', 11609 LLLL : 'dddd, D MMMM YYYY, A h:mm ਵà¨à©' 11610 }, 11611 calendar : { 11612 sameDay : '[ਠà¨] LT', 11613 nextDay : '[à¨à¨²] LT', 11614 nextWeek : '[ਠà¨à¨²à¨¾] dddd, LT', 11615 lastDay : '[à¨à¨²] LT', 11616 lastWeek : '[ਪਿà¨à¨²à©] dddd, LT', 11617 sameElse : 'L' 11618 }, 11619 relativeTime : { 11620 future : '%s ਵਿੱà¨', 11621 past : '%s ਪਿà¨à¨²à©', 11622 s : 'à¨à©à¨ ਸà¨à¨¿à©°à¨', 11623 ss : '%d ਸà¨à¨¿à©°à¨', 11624 m : 'à¨à¨ ਮਿੰà¨', 11625 mm : '%d ਮਿੰà¨', 11626 h : 'à¨à©±à¨ à¨à©°à¨à¨¾', 11627 hh : '%d à¨à©°à¨à©', 11628 d : 'à¨à©±à¨ ਦਿਨ', 11629 dd : '%d ਦਿਨ', 11630 M : 'à¨à©±à¨ ਮਹà©à¨¨à¨¾', 11631 MM : '%d ਮਹà©à¨¨à©', 11632 y : 'à¨à©±à¨ ਸਾਲ', 11633 yy : '%d ਸਾਲ' 11634 }, 11635 preparse: function (string) { 11636 return string.replace(/[੧੨੩੪੫੬à©à©®à©¯à©¦]/g, function (match) { 11637 return numberMap$d[match]; 11638 }); 11639 }, 11640 postformat: function (string) { 11641 return string.replace(/\d/g, function (match) { 11642 return symbolMap$e[match]; 11643 }); 11644 }, 11645 // Punjabi notation for meridiems are quite fuzzy in practice. While there exists 11646 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. 11647 meridiemParse: /ਰਾਤ|ਸਵà©à¨°|ਦà©à¨ªà¨¹à¨¿à¨°|ਸ਼ਾਮ/, 11648 meridiemHour : function (hour, meridiem) { 11649 if (hour === 12) { 11650 hour = 0; 11651 } 11652 if (meridiem === 'ਰਾਤ') { 11653 return hour < 4 ? hour : hour + 12; 11654 } else if (meridiem === 'ਸਵà©à¨°') { 11655 return hour; 11656 } else if (meridiem === 'ਦà©à¨ªà¨¹à¨¿à¨°') { 11657 return hour >= 10 ? hour : hour + 12; 11658 } else if (meridiem === 'ਸ਼ਾਮ') { 11659 return hour + 12; 11660 } 11661 }, 11662 meridiem : function (hour, minute, isLower) { 11663 if (hour < 4) { 11664 return 'ਰਾਤ'; 11665 } else if (hour < 10) { 11666 return 'ਸਵà©à¨°'; 11667 } else if (hour < 17) { 11668 return 'ਦà©à¨ªà¨¹à¨¿à¨°'; 11669 } else if (hour < 20) { 11670 return 'ਸ਼ਾਮ'; 11671 } else { 11672 return 'ਰਾਤ'; 11673 } 11674 }, 11675 week : { 11676 dow : 0, // Sunday is the first day of the week. 11677 doy : 6 // The week that contains Jan 6th is the first week of the year. 11678 } 11679 }); 11680 11681 //! moment.js locale configuration 11682 11683 var monthsNominative = 'styczeÅ_luty_marzec_kwiecieÅ_maj_czerwiec_lipiec_sierpieÅ_wrzesieÅ_październik_listopad_grudzieÅ'.split('_'), 11684 monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅnia_października_listopada_grudnia'.split('_'); 11685 function plural$3(n) { 11686 return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1); 11687 } 11688 function translate$8(number, withoutSuffix, key) { 11689 var result = number + ' '; 11690 switch (key) { 11691 case 'ss': 11692 return result + (plural$3(number) ? 'sekundy' : 'sekund'); 11693 case 'm': 11694 return withoutSuffix ? 'minuta' : 'minutÄ'; 11695 case 'mm': 11696 return result + (plural$3(number) ? 'minuty' : 'minut'); 11697 case 'h': 11698 return withoutSuffix ? 'godzina' : 'godzinÄ'; 11699 case 'hh': 11700 return result + (plural$3(number) ? 'godziny' : 'godzin'); 11701 case 'MM': 11702 return result + (plural$3(number) ? 'miesiÄ ce' : 'miesiÄcy'); 11703 case 'yy': 11704 return result + (plural$3(number) ? 'lata' : 'lat'); 11705 } 11706 } 11707 11708 hooks.defineLocale('pl', { 11709 months : function (momentToFormat, format) { 11710 if (!momentToFormat) { 11711 return monthsNominative; 11712 } else if (format === '') { 11713 // Hack: if format empty we know this is used to generate 11714 // RegExp by moment. Give then back both valid forms of months 11715 // in RegExp ready format. 11716 return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')'; 11717 } else if (/D MMMM/.test(format)) { 11718 return monthsSubjective[momentToFormat.month()]; 11719 } else { 11720 return monthsNominative[momentToFormat.month()]; 11721 } 11722 }, 11723 monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), 11724 weekdays : 'niedziela_poniedziaÅek_wtorek_Åroda_czwartek_piÄ tek_sobota'.split('_'), 11725 weekdaysShort : 'ndz_pon_wt_År_czw_pt_sob'.split('_'), 11726 weekdaysMin : 'Nd_Pn_Wt_År_Cz_Pt_So'.split('_'), 11727 longDateFormat : { 11728 LT : 'HH:mm', 11729 LTS : 'HH:mm:ss', 11730 L : 'DD.MM.YYYY', 11731 LL : 'D MMMM YYYY', 11732 LLL : 'D MMMM YYYY HH:mm', 11733 LLLL : 'dddd, D MMMM YYYY HH:mm' 11734 }, 11735 calendar : { 11736 sameDay: '[DziÅ o] LT', 11737 nextDay: '[Jutro o] LT', 11738 nextWeek: function () { 11739 switch (this.day()) { 11740 case 0: 11741 return '[W niedzielÄ o] LT'; 11742 11743 case 2: 11744 return '[We wtorek o] LT'; 11745 11746 case 3: 11747 return '[W ÅrodÄ o] LT'; 11748 11749 case 6: 11750 return '[W sobotÄ o] LT'; 11751 11752 default: 11753 return '[W] dddd [o] LT'; 11754 } 11755 }, 11756 lastDay: '[Wczoraj o] LT', 11757 lastWeek: function () { 11758 switch (this.day()) { 11759 case 0: 11760 return '[W zeszÅÄ niedzielÄ o] LT'; 11761 case 3: 11762 return '[W zeszÅÄ ÅrodÄ o] LT'; 11763 case 6: 11764 return '[W zeszÅÄ sobotÄ o] LT'; 11765 default: 11766 return '[W zeszÅy] dddd [o] LT'; 11767 } 11768 }, 11769 sameElse: 'L' 11770 }, 11771 relativeTime : { 11772 future : 'za %s', 11773 past : '%s temu', 11774 s : 'kilka sekund', 11775 ss : translate$8, 11776 m : translate$8, 11777 mm : translate$8, 11778 h : translate$8, 11779 hh : translate$8, 11780 d : '1 dzieÅ', 11781 dd : '%d dni', 11782 M : 'miesiÄ c', 11783 MM : translate$8, 11784 y : 'rok', 11785 yy : translate$8 11786 }, 11787 dayOfMonthOrdinalParse: /\d{1,2}\./, 11788 ordinal : '%d.', 11789 week : { 11790 dow : 1, // Monday is the first day of the week. 11791 doy : 4 // The week that contains Jan 4th is the first week of the year. 11792 } 11793 }); 11794 11795 //! moment.js locale configuration 11796 11797 hooks.defineLocale('pt-br', { 11798 months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), 11799 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), 11800 weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), 11801 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), 11802 weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), 11803 weekdaysParseExact : true, 11804 longDateFormat : { 11805 LT : 'HH:mm', 11806 LTS : 'HH:mm:ss', 11807 L : 'DD/MM/YYYY', 11808 LL : 'D [de] MMMM [de] YYYY', 11809 LLL : 'D [de] MMMM [de] YYYY [à s] HH:mm', 11810 LLLL : 'dddd, D [de] MMMM [de] YYYY [à s] HH:mm' 11811 }, 11812 calendar : { 11813 sameDay: '[Hoje à s] LT', 11814 nextDay: '[Amanhã à s] LT', 11815 nextWeek: 'dddd [à s] LT', 11816 lastDay: '[Ontem à s] LT', 11817 lastWeek: function () { 11818 return (this.day() === 0 || this.day() === 6) ? 11819 '[Ãltimo] dddd [à s] LT' : // Saturday + Sunday 11820 '[Ãltima] dddd [à s] LT'; // Monday - Friday 11821 }, 11822 sameElse: 'L' 11823 }, 11824 relativeTime : { 11825 future : 'em %s', 11826 past : 'há %s', 11827 s : 'poucos segundos', 11828 ss : '%d segundos', 11829 m : 'um minuto', 11830 mm : '%d minutos', 11831 h : 'uma hora', 11832 hh : '%d horas', 11833 d : 'um dia', 11834 dd : '%d dias', 11835 M : 'um mês', 11836 MM : '%d meses', 11837 y : 'um ano', 11838 yy : '%d anos' 11839 }, 11840 dayOfMonthOrdinalParse: /\d{1,2}º/, 11841 ordinal : '%dº' 11842 }); 11843 11844 //! moment.js locale configuration 11845 11846 hooks.defineLocale('pt', { 11847 months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), 11848 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), 11849 weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), 11850 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), 11851 weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), 11852 weekdaysParseExact : true, 11853 longDateFormat : { 11854 LT : 'HH:mm', 11855 LTS : 'HH:mm:ss', 11856 L : 'DD/MM/YYYY', 11857 LL : 'D [de] MMMM [de] YYYY', 11858 LLL : 'D [de] MMMM [de] YYYY HH:mm', 11859 LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm' 11860 }, 11861 calendar : { 11862 sameDay: '[Hoje à s] LT', 11863 nextDay: '[Amanhã à s] LT', 11864 nextWeek: 'dddd [à s] LT', 11865 lastDay: '[Ontem à s] LT', 11866 lastWeek: function () { 11867 return (this.day() === 0 || this.day() === 6) ? 11868 '[Ãltimo] dddd [à s] LT' : // Saturday + Sunday 11869 '[Ãltima] dddd [à s] LT'; // Monday - Friday 11870 }, 11871 sameElse: 'L' 11872 }, 11873 relativeTime : { 11874 future : 'em %s', 11875 past : 'há %s', 11876 s : 'segundos', 11877 ss : '%d segundos', 11878 m : 'um minuto', 11879 mm : '%d minutos', 11880 h : 'uma hora', 11881 hh : '%d horas', 11882 d : 'um dia', 11883 dd : '%d dias', 11884 M : 'um mês', 11885 MM : '%d meses', 11886 y : 'um ano', 11887 yy : '%d anos' 11888 }, 11889 dayOfMonthOrdinalParse: /\d{1,2}º/, 11890 ordinal : '%dº', 11891 week : { 11892 dow : 1, // Monday is the first day of the week. 11893 doy : 4 // The week that contains Jan 4th is the first week of the year. 11894 } 11895 }); 11896 11897 //! moment.js locale configuration 11898 11899 function relativeTimeWithPlural$2(number, withoutSuffix, key) { 11900 var format = { 11901 'ss': 'secunde', 11902 'mm': 'minute', 11903 'hh': 'ore', 11904 'dd': 'zile', 11905 'MM': 'luni', 11906 'yy': 'ani' 11907 }, 11908 separator = ' '; 11909 if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { 11910 separator = ' de '; 11911 } 11912 return number + separator + format[key]; 11913 } 11914 11915 hooks.defineLocale('ro', { 11916 months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'), 11917 monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'), 11918 monthsParseExact: true, 11919 weekdays : 'duminicÄ_luni_marÈi_miercuri_joi_vineri_sâmbÄtÄ'.split('_'), 11920 weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), 11921 weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), 11922 longDateFormat : { 11923 LT : 'H:mm', 11924 LTS : 'H:mm:ss', 11925 L : 'DD.MM.YYYY', 11926 LL : 'D MMMM YYYY', 11927 LLL : 'D MMMM YYYY H:mm', 11928 LLLL : 'dddd, D MMMM YYYY H:mm' 11929 }, 11930 calendar : { 11931 sameDay: '[azi la] LT', 11932 nextDay: '[mâine la] LT', 11933 nextWeek: 'dddd [la] LT', 11934 lastDay: '[ieri la] LT', 11935 lastWeek: '[fosta] dddd [la] LT', 11936 sameElse: 'L' 11937 }, 11938 relativeTime : { 11939 future : 'peste %s', 11940 past : '%s în urmÄ', 11941 s : 'câteva secunde', 11942 ss : relativeTimeWithPlural$2, 11943 m : 'un minut', 11944 mm : relativeTimeWithPlural$2, 11945 h : 'o orÄ', 11946 hh : relativeTimeWithPlural$2, 11947 d : 'o zi', 11948 dd : relativeTimeWithPlural$2, 11949 M : 'o lunÄ', 11950 MM : relativeTimeWithPlural$2, 11951 y : 'un an', 11952 yy : relativeTimeWithPlural$2 11953 }, 11954 week : { 11955 dow : 1, // Monday is the first day of the week. 11956 doy : 7 // The week that contains Jan 7th is the first week of the year. 11957 } 11958 }); 11959 11960 //! moment.js locale configuration 11961 11962 function plural$4(word, num) { 11963 var forms = word.split('_'); 11964 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]); 11965 } 11966 function relativeTimeWithPlural$3(number, withoutSuffix, key) { 11967 var format = { 11968 'ss': withoutSuffix ? 'ÑекÑнда_ÑекÑндÑ_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑндÑ_ÑекÑнд', 11969 'mm': withoutSuffix ? 'минÑÑа_минÑÑÑ_минÑÑ' : 'минÑÑÑ_минÑÑÑ_минÑÑ', 11970 'hh': 'ÑаÑ_ÑаÑа_ÑаÑов', 11971 'dd': 'денÑ_днÑ_дней', 11972 'MM': 'меÑÑÑ_меÑÑÑа_меÑÑÑев', 11973 'yy': 'год_года_леÑ' 11974 }; 11975 if (key === 'm') { 11976 return withoutSuffix ? 'минÑÑа' : 'минÑÑÑ'; 11977 } 11978 else { 11979 return number + ' ' + plural$4(format[key], +number); 11980 } 11981 } 11982 var monthsParse$6 = [/^Ñнв/i, /^Ñев/i, /^маÑ/i, /^апÑ/i, /^ма[йÑ]/i, /^иÑн/i, /^иÑл/i, /^авг/i, /^Ñен/i, /^окÑ/i, /^ноÑ/i, /^дек/i]; 11983 11984 // http://new.gramota.ru/spravka/rules/139-prop : § 103 11985 // СокÑаÑÐµÐ½Ð¸Ñ Ð¼ÐµÑÑÑев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 11986 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 11987 hooks.defineLocale('ru', { 11988 months : { 11989 format: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑа_апÑелÑ_маÑ_иÑнÑ_иÑлÑ_авгÑÑÑа_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_'), 11990 standalone: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_') 11991 }, 11992 monthsShort : { 11993 // по CLDR именно "иÑл." и "иÑн.", но какой ÑмÑÑл менÑÑÑ Ð±ÑÐºÐ²Ñ Ð½Ð° ÑоÑÐºÑ ? 11994 format: 'Ñнв._ÑевÑ._маÑ._апÑ._маÑ_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split('_'), 11995 standalone: 'Ñнв._ÑевÑ._маÑÑ_апÑ._май_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split('_') 11996 }, 11997 weekdays : { 11998 standalone: 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑеда_ÑеÑвеÑг_пÑÑниÑа_ÑÑббоÑа'.split('_'), 11999 format: 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑедÑ_ÑеÑвеÑг_пÑÑниÑÑ_ÑÑббоÑÑ'.split('_'), 12000 isFormat: /\[ ?[Ðв] ?(?:пÑоÑлÑÑ|ÑледÑÑÑÑÑ|ÑÑÑ)? ?\] ?dddd/ 12001 }, 12002 weekdaysShort : 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 12003 weekdaysMin : 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 12004 monthsParse : monthsParse$6, 12005 longMonthsParse : monthsParse$6, 12006 shortMonthsParse : monthsParse$6, 12007 12008 // полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по ÑÑи бÑквÑ, Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ , по 4 бÑквÑ, ÑокÑаÑÐµÐ½Ð¸Ñ Ñ ÑоÑкой и без ÑоÑки 12009 monthsRegex: /^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i, 12010 12011 // ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÑедÑдÑÑего 12012 monthsShortRegex: /^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i, 12013 12014 // полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸ 12015 monthsStrictRegex: /^(ÑнваÑ[ÑÑ]|ÑевÑал[ÑÑ]|маÑÑа?|апÑел[ÑÑ]|ма[Ñй]|иÑн[ÑÑ]|иÑл[ÑÑ]|авгÑÑÑа?|ÑенÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|ноÑбÑ[ÑÑ]|декабÑ[ÑÑ])/i, 12016 12017 // ÐÑÑажение, коÑоÑое ÑооÑвеÑÑвÑÐµÑ ÑолÑко ÑокÑаÑÑннÑм ÑоÑмам 12018 monthsShortStrictRegex: /^(Ñнв\.|ÑевÑ?\.|маÑ[Ñ.]|апÑ\.|ма[Ñй]|иÑн[ÑÑ.]|иÑл[ÑÑ.]|авг\.|ÑенÑ?\.|окÑ\.|ноÑб?\.|дек\.)/i, 12019 longDateFormat : { 12020 LT : 'H:mm', 12021 LTS : 'H:mm:ss', 12022 L : 'DD.MM.YYYY', 12023 LL : 'D MMMM YYYY г.', 12024 LLL : 'D MMMM YYYY г., H:mm', 12025 LLLL : 'dddd, D MMMM YYYY г., H:mm' 12026 }, 12027 calendar : { 12028 sameDay: '[СегоднÑ, в] LT', 12029 nextDay: '[ÐавÑÑа, в] LT', 12030 lastDay: '[ÐÑеÑа, в] LT', 12031 nextWeek: function (now) { 12032 if (now.week() !== this.week()) { 12033 switch (this.day()) { 12034 case 0: 12035 return '[Ð ÑледÑÑÑее] dddd, [в] LT'; 12036 case 1: 12037 case 2: 12038 case 4: 12039 return '[Ð ÑледÑÑÑий] dddd, [в] LT'; 12040 case 3: 12041 case 5: 12042 case 6: 12043 return '[Ð ÑледÑÑÑÑÑ] dddd, [в] LT'; 12044 } 12045 } else { 12046 if (this.day() === 2) { 12047 return '[Ðо] dddd, [в] LT'; 12048 } else { 12049 return '[Ð] dddd, [в] LT'; 12050 } 12051 } 12052 }, 12053 lastWeek: function (now) { 12054 if (now.week() !== this.week()) { 12055 switch (this.day()) { 12056 case 0: 12057 return '[РпÑоÑлое] dddd, [в] LT'; 12058 case 1: 12059 case 2: 12060 case 4: 12061 return '[РпÑоÑлÑй] dddd, [в] LT'; 12062 case 3: 12063 case 5: 12064 case 6: 12065 return '[РпÑоÑлÑÑ] dddd, [в] LT'; 12066 } 12067 } else { 12068 if (this.day() === 2) { 12069 return '[Ðо] dddd, [в] LT'; 12070 } else { 12071 return '[Ð] dddd, [в] LT'; 12072 } 12073 } 12074 }, 12075 sameElse: 'L' 12076 }, 12077 relativeTime : { 12078 future : 'ÑеÑез %s', 12079 past : '%s назад', 12080 s : 'неÑколÑко ÑекÑнд', 12081 ss : relativeTimeWithPlural$3, 12082 m : relativeTimeWithPlural$3, 12083 mm : relativeTimeWithPlural$3, 12084 h : 'ÑаÑ', 12085 hh : relativeTimeWithPlural$3, 12086 d : 'денÑ', 12087 dd : relativeTimeWithPlural$3, 12088 M : 'меÑÑÑ', 12089 MM : relativeTimeWithPlural$3, 12090 y : 'год', 12091 yy : relativeTimeWithPlural$3 12092 }, 12093 meridiemParse: /ноÑи|ÑÑÑа|днÑ|веÑеÑа/i, 12094 isPM : function (input) { 12095 return /^(днÑ|веÑеÑа)$/.test(input); 12096 }, 12097 meridiem : function (hour, minute, isLower) { 12098 if (hour < 4) { 12099 return 'ноÑи'; 12100 } else if (hour < 12) { 12101 return 'ÑÑÑа'; 12102 } else if (hour < 17) { 12103 return 'днÑ'; 12104 } else { 12105 return 'веÑеÑа'; 12106 } 12107 }, 12108 dayOfMonthOrdinalParse: /\d{1,2}-(й|го|Ñ)/, 12109 ordinal: function (number, period) { 12110 switch (period) { 12111 case 'M': 12112 case 'd': 12113 case 'DDD': 12114 return number + '-й'; 12115 case 'D': 12116 return number + '-го'; 12117 case 'w': 12118 case 'W': 12119 return number + '-Ñ'; 12120 default: 12121 return number; 12122 } 12123 }, 12124 week : { 12125 dow : 1, // Monday is the first day of the week. 12126 doy : 4 // The week that contains Jan 4th is the first week of the year. 12127 } 12128 }); 12129 12130 //! moment.js locale configuration 12131 12132 var months$8 = [ 12133 'جÙÙØ±Ù', 12134 'ÙÙØ¨Ø±ÙرÙ', 12135 '٠ارÚ', 12136 'اپرÙÙ', 12137 '٠ئÙ', 12138 'جÙÙ', 12139 'جÙÙØ§Ø¡Ù', 12140 'آگسٽ', 12141 'سÙپٽ٠بر', 12142 'Ø¢ÚªÙ½ÙØ¨Ø±', 12143 'ÙÙ٠بر', 12144 'ÚØ³Ù بر' 12145 ]; 12146 var days$1 = [ 12147 'Ø¢ÚØ±', 12148 'سÙ٠ر', 12149 'اڱارÙ', 12150 'اربع', 12151 'Ø®Ù ÙØ³', 12152 'ج٠ع', 12153 'ÚÙÚØ±' 12154 ]; 12155 12156 hooks.defineLocale('sd', { 12157 months : months$8, 12158 monthsShort : months$8, 12159 weekdays : days$1, 12160 weekdaysShort : days$1, 12161 weekdaysMin : days$1, 12162 longDateFormat : { 12163 LT : 'HH:mm', 12164 LTS : 'HH:mm:ss', 12165 L : 'DD/MM/YYYY', 12166 LL : 'D MMMM YYYY', 12167 LLL : 'D MMMM YYYY HH:mm', 12168 LLLL : 'ddddØ D MMMM YYYY HH:mm' 12169 }, 12170 meridiemParse: /صبØ|شا٠/, 12171 isPM : function (input) { 12172 return 'شا٠' === input; 12173 }, 12174 meridiem : function (hour, minute, isLower) { 12175 if (hour < 12) { 12176 return 'صبØ'; 12177 } 12178 return 'شا٠'; 12179 }, 12180 calendar : { 12181 sameDay : '[اÚ] LT', 12182 nextDay : '[Ø³ÚØ§Ú»Ù] LT', 12183 nextWeek : 'dddd [اڳÙÙ ÙÙØªÙ تÙ] LT', 12184 lastDay : '[ڪاÙÙÙ] LT', 12185 lastWeek : '[گزرÙÙ ÙÙØªÙ] dddd [تÙ] LT', 12186 sameElse : 'L' 12187 }, 12188 relativeTime : { 12189 future : '%s Ù¾ÙØ¡', 12190 past : '%s اڳ', 12191 s : 'ÚÙØ¯ سÙÚªÙÚ', 12192 ss : '%d سÙÚªÙÚ', 12193 m : 'ÙÚª Ù ÙÙ½', 12194 mm : '%d Ù ÙÙ½', 12195 h : 'ÙÚª ÚªÙØ§Úª', 12196 hh : '%d ÚªÙØ§Úª', 12197 d : 'ÙÚª ÚÙÙÙÙ', 12198 dd : '%d ÚÙÙÙÙ', 12199 M : 'ÙÚª Ù ÙÙÙÙ', 12200 MM : '%d Ù ÙÙÙØ§', 12201 y : 'ÙÚª ساÙ', 12202 yy : '%d ساÙ' 12203 }, 12204 preparse: function (string) { 12205 return string.replace(/Ø/g, ','); 12206 }, 12207 postformat: function (string) { 12208 return string.replace(/,/g, 'Ø'); 12209 }, 12210 week : { 12211 dow : 1, // Monday is the first day of the week. 12212 doy : 4 // The week that contains Jan 4th is the first week of the year. 12213 } 12214 }); 12215 12216 //! moment.js locale configuration 12217 12218 hooks.defineLocale('se', { 12219 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('_'), 12220 monthsShort : 'oÄÄj_guov_njuk_cuo_mies_geas_suoi_borg_ÄakÄ_golg_skáb_juov'.split('_'), 12221 weekdays : 'sotnabeaivi_vuossárga_maÅÅebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'), 12222 weekdaysShort : 'sotn_vuos_maÅ_gask_duor_bear_láv'.split('_'), 12223 weekdaysMin : 's_v_m_g_d_b_L'.split('_'), 12224 longDateFormat : { 12225 LT : 'HH:mm', 12226 LTS : 'HH:mm:ss', 12227 L : 'DD.MM.YYYY', 12228 LL : 'MMMM D. [b.] YYYY', 12229 LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm', 12230 LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm' 12231 }, 12232 calendar : { 12233 sameDay: '[otne ti] LT', 12234 nextDay: '[ihttin ti] LT', 12235 nextWeek: 'dddd [ti] LT', 12236 lastDay: '[ikte ti] LT', 12237 lastWeek: '[ovddit] dddd [ti] LT', 12238 sameElse: 'L' 12239 }, 12240 relativeTime : { 12241 future : '%s geažes', 12242 past : 'maÅit %s', 12243 s : 'moadde sekunddat', 12244 ss: '%d sekunddat', 12245 m : 'okta minuhta', 12246 mm : '%d minuhtat', 12247 h : 'okta diimmu', 12248 hh : '%d diimmut', 12249 d : 'okta beaivi', 12250 dd : '%d beaivvit', 12251 M : 'okta mánnu', 12252 MM : '%d mánut', 12253 y : 'okta jahki', 12254 yy : '%d jagit' 12255 }, 12256 dayOfMonthOrdinalParse: /\d{1,2}\./, 12257 ordinal : '%d.', 12258 week : { 12259 dow : 1, // Monday is the first day of the week. 12260 doy : 4 // The week that contains Jan 4th is the first week of the year. 12261 } 12262 }); 12263 12264 //! moment.js locale configuration 12265 12266 /*jshint -W100*/ 12267 hooks.defineLocale('si', { 12268 months : 'ජනà·à·à¶»à·_à¶´à·à¶¶à¶»à·à·à¶»à·_මà·à¶»à·à¶à·_à¶ à¶´à·âà¶»à·à¶½à·_මà·à¶ºà·_à¶¢à·à¶±à·_à¶¢à·à¶½à·_à¶ à¶à·à·à·à¶à·_à·à·à¶´à·à¶à·à¶¸à·à¶¶à¶»à·_à¶à¶à·à¶à·à¶¶à¶»à·_à¶±à·à·à·à¶¸à·à¶¶à¶»à·_දà·à·à·à¶¸à·à¶¶à¶»à·'.split('_'), 12269 monthsShort : 'ජන_à¶´à·à¶¶_මà·à¶»à·_à¶ à¶´à·_මà·à¶ºà·_à¶¢à·à¶±à·_à¶¢à·à¶½à·_à¶ à¶à·_à·à·à¶´à·_à¶à¶à·_à¶±à·à·à·_දà·à·à·'.split('_'), 12270 weekdays : 'à¶à¶»à·à¶¯à·_à·à¶³à·à¶¯à·_à¶ à¶à·à¶»à·à·à·à¶¯à·_බදà·à¶¯à·_à¶¶à·âà¶»à·à·à·à¶´à¶à·à¶±à·à¶¯à·_à·à·à¶à·à¶»à·à¶¯à·_à·à·à¶±à·à·à¶»à·à¶¯à·'.split('_'), 12271 weekdaysShort : 'à¶à¶»à·_à·à¶³à·_à¶ à¶_බදà·_à¶¶à·âà¶»à·_à·à·à¶à·_à·à·à¶±'.split('_'), 12272 weekdaysMin : 'à¶_à·_à¶ _à¶¶_à¶¶à·âà¶»_à·à·_à·à·'.split('_'), 12273 weekdaysParseExact : true, 12274 longDateFormat : { 12275 LT : 'a h:mm', 12276 LTS : 'a h:mm:ss', 12277 L : 'YYYY/MM/DD', 12278 LL : 'YYYY MMMM D', 12279 LLL : 'YYYY MMMM D, a h:mm', 12280 LLLL : 'YYYY MMMM D [à·à·à¶±à·] dddd, a h:mm:ss' 12281 }, 12282 calendar : { 12283 sameDay : '[චද] LT[à¶§]', 12284 nextDay : '[à·à·à¶§] LT[à¶§]', 12285 nextWeek : 'dddd LT[à¶§]', 12286 lastDay : '[à¶à¶ºà·] LT[à¶§]', 12287 lastWeek : '[à¶´à·à·à¶à·à¶º] dddd LT[à¶§]', 12288 sameElse : 'L' 12289 }, 12290 relativeTime : { 12291 future : '%sà¶à·à¶±à·', 12292 past : '%sà¶à¶§ à¶´à·à¶»', 12293 s : 'à¶à¶à·à¶´à¶» à¶à·à·à·à¶´à¶º', 12294 ss : 'à¶à¶à·à¶´à¶» %d', 12295 m : 'මà·à¶±à·à¶à·à¶à·à·', 12296 mm : 'මà·à¶±à·à¶à·à¶à· %d', 12297 h : 'à¶´à·à¶º', 12298 hh : 'à¶´à·à¶º %d', 12299 d : 'දà·à¶±à¶º', 12300 dd : 'දà·à¶± %d', 12301 M : 'මà·à·à¶º', 12302 MM : 'මà·à· %d', 12303 y : 'à·à·à¶»', 12304 yy : 'à·à·à¶» %d' 12305 }, 12306 dayOfMonthOrdinalParse: /\d{1,2} à·à·à¶±à·/, 12307 ordinal : function (number) { 12308 return number + ' à·à·à¶±à·'; 12309 }, 12310 meridiemParse : /à¶´à·à¶» à·à¶»à·|à¶´à·à· à·à¶»à·|à¶´à·.à·|à¶´.à·./, 12311 isPM : function (input) { 12312 return input === 'à¶´.à·.' || input === 'à¶´à·à· à·à¶»à·'; 12313 }, 12314 meridiem : function (hours, minutes, isLower) { 12315 if (hours > 11) { 12316 return isLower ? 'à¶´.à·.' : 'à¶´à·à· à·à¶»à·'; 12317 } else { 12318 return isLower ? 'à¶´à·.à·.' : 'à¶´à·à¶» à·à¶»à·'; 12319 } 12320 } 12321 }); 12322 12323 //! moment.js locale configuration 12324 12325 var months$9 = 'január_február_marec_aprÃl_máj_jún_júl_august_september_október_november_december'.split('_'), 12326 monthsShort$6 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); 12327 function plural$5(n) { 12328 return (n > 1) && (n < 5); 12329 } 12330 function translate$9(number, withoutSuffix, key, isFuture) { 12331 var result = number + ' '; 12332 switch (key) { 12333 case 's': // a few seconds / in a few seconds / a few seconds ago 12334 return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami'; 12335 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago 12336 if (withoutSuffix || isFuture) { 12337 return result + (plural$5(number) ? 'sekundy' : 'sekúnd'); 12338 } else { 12339 return result + 'sekundami'; 12340 } 12341 break; 12342 case 'm': // a minute / in a minute / a minute ago 12343 return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou'); 12344 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago 12345 if (withoutSuffix || isFuture) { 12346 return result + (plural$5(number) ? 'minúty' : 'minút'); 12347 } else { 12348 return result + 'minútami'; 12349 } 12350 break; 12351 case 'h': // an hour / in an hour / an hour ago 12352 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); 12353 case 'hh': // 9 hours / in 9 hours / 9 hours ago 12354 if (withoutSuffix || isFuture) { 12355 return result + (plural$5(number) ? 'hodiny' : 'hodÃn'); 12356 } else { 12357 return result + 'hodinami'; 12358 } 12359 break; 12360 case 'd': // a day / in a day / a day ago 12361 return (withoutSuffix || isFuture) ? 'deÅ' : 'dÅom'; 12362 case 'dd': // 9 days / in 9 days / 9 days ago 12363 if (withoutSuffix || isFuture) { 12364 return result + (plural$5(number) ? 'dni' : 'dnÃ'); 12365 } else { 12366 return result + 'dÅami'; 12367 } 12368 break; 12369 case 'M': // a month / in a month / a month ago 12370 return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom'; 12371 case 'MM': // 9 months / in 9 months / 9 months ago 12372 if (withoutSuffix || isFuture) { 12373 return result + (plural$5(number) ? 'mesiace' : 'mesiacov'); 12374 } else { 12375 return result + 'mesiacmi'; 12376 } 12377 break; 12378 case 'y': // a year / in a year / a year ago 12379 return (withoutSuffix || isFuture) ? 'rok' : 'rokom'; 12380 case 'yy': // 9 years / in 9 years / 9 years ago 12381 if (withoutSuffix || isFuture) { 12382 return result + (plural$5(number) ? 'roky' : 'rokov'); 12383 } else { 12384 return result + 'rokmi'; 12385 } 12386 break; 12387 } 12388 } 12389 12390 hooks.defineLocale('sk', { 12391 months : months$9, 12392 monthsShort : monthsShort$6, 12393 weekdays : 'nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota'.split('_'), 12394 weekdaysShort : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), 12395 weekdaysMin : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), 12396 longDateFormat : { 12397 LT: 'H:mm', 12398 LTS : 'H:mm:ss', 12399 L : 'DD.MM.YYYY', 12400 LL : 'D. MMMM YYYY', 12401 LLL : 'D. MMMM YYYY H:mm', 12402 LLLL : 'dddd D. MMMM YYYY H:mm' 12403 }, 12404 calendar : { 12405 sameDay: '[dnes o] LT', 12406 nextDay: '[zajtra o] LT', 12407 nextWeek: function () { 12408 switch (this.day()) { 12409 case 0: 12410 return '[v nedeľu o] LT'; 12411 case 1: 12412 case 2: 12413 return '[v] dddd [o] LT'; 12414 case 3: 12415 return '[v stredu o] LT'; 12416 case 4: 12417 return '[vo Å¡tvrtok o] LT'; 12418 case 5: 12419 return '[v piatok o] LT'; 12420 case 6: 12421 return '[v sobotu o] LT'; 12422 } 12423 }, 12424 lastDay: '[vÄera o] LT', 12425 lastWeek: function () { 12426 switch (this.day()) { 12427 case 0: 12428 return '[minulú nedeľu o] LT'; 12429 case 1: 12430 case 2: 12431 return '[minulý] dddd [o] LT'; 12432 case 3: 12433 return '[minulú stredu o] LT'; 12434 case 4: 12435 case 5: 12436 return '[minulý] dddd [o] LT'; 12437 case 6: 12438 return '[minulú sobotu o] LT'; 12439 } 12440 }, 12441 sameElse: 'L' 12442 }, 12443 relativeTime : { 12444 future : 'za %s', 12445 past : 'pred %s', 12446 s : translate$9, 12447 ss : translate$9, 12448 m : translate$9, 12449 mm : translate$9, 12450 h : translate$9, 12451 hh : translate$9, 12452 d : translate$9, 12453 dd : translate$9, 12454 M : translate$9, 12455 MM : translate$9, 12456 y : translate$9, 12457 yy : translate$9 12458 }, 12459 dayOfMonthOrdinalParse: /\d{1,2}\./, 12460 ordinal : '%d.', 12461 week : { 12462 dow : 1, // Monday is the first day of the week. 12463 doy : 4 // The week that contains Jan 4th is the first week of the year. 12464 } 12465 }); 12466 12467 //! moment.js locale configuration 12468 12469 function processRelativeTime$6(number, withoutSuffix, key, isFuture) { 12470 var result = number + ' '; 12471 switch (key) { 12472 case 's': 12473 return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami'; 12474 case 'ss': 12475 if (number === 1) { 12476 result += withoutSuffix ? 'sekundo' : 'sekundi'; 12477 } else if (number === 2) { 12478 result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; 12479 } else if (number < 5) { 12480 result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; 12481 } else { 12482 result += 'sekund'; 12483 } 12484 return result; 12485 case 'm': 12486 return withoutSuffix ? 'ena minuta' : 'eno minuto'; 12487 case 'mm': 12488 if (number === 1) { 12489 result += withoutSuffix ? 'minuta' : 'minuto'; 12490 } else if (number === 2) { 12491 result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; 12492 } else if (number < 5) { 12493 result += withoutSuffix || isFuture ? 'minute' : 'minutami'; 12494 } else { 12495 result += withoutSuffix || isFuture ? 'minut' : 'minutami'; 12496 } 12497 return result; 12498 case 'h': 12499 return withoutSuffix ? 'ena ura' : 'eno uro'; 12500 case 'hh': 12501 if (number === 1) { 12502 result += withoutSuffix ? 'ura' : 'uro'; 12503 } else if (number === 2) { 12504 result += withoutSuffix || isFuture ? 'uri' : 'urama'; 12505 } else if (number < 5) { 12506 result += withoutSuffix || isFuture ? 'ure' : 'urami'; 12507 } else { 12508 result += withoutSuffix || isFuture ? 'ur' : 'urami'; 12509 } 12510 return result; 12511 case 'd': 12512 return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; 12513 case 'dd': 12514 if (number === 1) { 12515 result += withoutSuffix || isFuture ? 'dan' : 'dnem'; 12516 } else if (number === 2) { 12517 result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; 12518 } else { 12519 result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; 12520 } 12521 return result; 12522 case 'M': 12523 return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; 12524 case 'MM': 12525 if (number === 1) { 12526 result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; 12527 } else if (number === 2) { 12528 result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; 12529 } else if (number < 5) { 12530 result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; 12531 } else { 12532 result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; 12533 } 12534 return result; 12535 case 'y': 12536 return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; 12537 case 'yy': 12538 if (number === 1) { 12539 result += withoutSuffix || isFuture ? 'leto' : 'letom'; 12540 } else if (number === 2) { 12541 result += withoutSuffix || isFuture ? 'leti' : 'letoma'; 12542 } else if (number < 5) { 12543 result += withoutSuffix || isFuture ? 'leta' : 'leti'; 12544 } else { 12545 result += withoutSuffix || isFuture ? 'let' : 'leti'; 12546 } 12547 return result; 12548 } 12549 } 12550 12551 hooks.defineLocale('sl', { 12552 months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'), 12553 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'), 12554 monthsParseExact: true, 12555 weekdays : 'nedelja_ponedeljek_torek_sreda_Äetrtek_petek_sobota'.split('_'), 12556 weekdaysShort : 'ned._pon._tor._sre._Äet._pet._sob.'.split('_'), 12557 weekdaysMin : 'ne_po_to_sr_Äe_pe_so'.split('_'), 12558 weekdaysParseExact : true, 12559 longDateFormat : { 12560 LT : 'H:mm', 12561 LTS : 'H:mm:ss', 12562 L : 'DD.MM.YYYY', 12563 LL : 'D. MMMM YYYY', 12564 LLL : 'D. MMMM YYYY H:mm', 12565 LLLL : 'dddd, D. MMMM YYYY H:mm' 12566 }, 12567 calendar : { 12568 sameDay : '[danes ob] LT', 12569 nextDay : '[jutri ob] LT', 12570 12571 nextWeek : function () { 12572 switch (this.day()) { 12573 case 0: 12574 return '[v] [nedeljo] [ob] LT'; 12575 case 3: 12576 return '[v] [sredo] [ob] LT'; 12577 case 6: 12578 return '[v] [soboto] [ob] LT'; 12579 case 1: 12580 case 2: 12581 case 4: 12582 case 5: 12583 return '[v] dddd [ob] LT'; 12584 } 12585 }, 12586 lastDay : '[vÄeraj ob] LT', 12587 lastWeek : function () { 12588 switch (this.day()) { 12589 case 0: 12590 return '[prejÅ¡njo] [nedeljo] [ob] LT'; 12591 case 3: 12592 return '[prejÅ¡njo] [sredo] [ob] LT'; 12593 case 6: 12594 return '[prejÅ¡njo] [soboto] [ob] LT'; 12595 case 1: 12596 case 2: 12597 case 4: 12598 case 5: 12599 return '[prejÅ¡nji] dddd [ob] LT'; 12600 } 12601 }, 12602 sameElse : 'L' 12603 }, 12604 relativeTime : { 12605 future : 'Äez %s', 12606 past : 'pred %s', 12607 s : processRelativeTime$6, 12608 ss : processRelativeTime$6, 12609 m : processRelativeTime$6, 12610 mm : processRelativeTime$6, 12611 h : processRelativeTime$6, 12612 hh : processRelativeTime$6, 12613 d : processRelativeTime$6, 12614 dd : processRelativeTime$6, 12615 M : processRelativeTime$6, 12616 MM : processRelativeTime$6, 12617 y : processRelativeTime$6, 12618 yy : processRelativeTime$6 12619 }, 12620 dayOfMonthOrdinalParse: /\d{1,2}\./, 12621 ordinal : '%d.', 12622 week : { 12623 dow : 1, // Monday is the first day of the week. 12624 doy : 7 // The week that contains Jan 7th is the first week of the year. 12625 } 12626 }); 12627 12628 //! moment.js locale configuration 12629 12630 hooks.defineLocale('sq', { 12631 months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), 12632 monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), 12633 weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), 12634 weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), 12635 weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'), 12636 weekdaysParseExact : true, 12637 meridiemParse: /PD|MD/, 12638 isPM: function (input) { 12639 return input.charAt(0) === 'M'; 12640 }, 12641 meridiem : function (hours, minutes, isLower) { 12642 return hours < 12 ? 'PD' : 'MD'; 12643 }, 12644 longDateFormat : { 12645 LT : 'HH:mm', 12646 LTS : 'HH:mm:ss', 12647 L : 'DD/MM/YYYY', 12648 LL : 'D MMMM YYYY', 12649 LLL : 'D MMMM YYYY HH:mm', 12650 LLLL : 'dddd, D MMMM YYYY HH:mm' 12651 }, 12652 calendar : { 12653 sameDay : '[Sot në] LT', 12654 nextDay : '[Nesër në] LT', 12655 nextWeek : 'dddd [në] LT', 12656 lastDay : '[Dje në] LT', 12657 lastWeek : 'dddd [e kaluar në] LT', 12658 sameElse : 'L' 12659 }, 12660 relativeTime : { 12661 future : 'në %s', 12662 past : '%s më parë', 12663 s : 'disa sekonda', 12664 ss : '%d sekonda', 12665 m : 'një minutë', 12666 mm : '%d minuta', 12667 h : 'një orë', 12668 hh : '%d orë', 12669 d : 'një ditë', 12670 dd : '%d ditë', 12671 M : 'një muaj', 12672 MM : '%d muaj', 12673 y : 'një vit', 12674 yy : '%d vite' 12675 }, 12676 dayOfMonthOrdinalParse: /\d{1,2}\./, 12677 ordinal : '%d.', 12678 week : { 12679 dow : 1, // Monday is the first day of the week. 12680 doy : 4 // The week that contains Jan 4th is the first week of the year. 12681 } 12682 }); 12683 12684 //! moment.js locale configuration 12685 12686 var translator$1 = { 12687 words: { //Different grammatical cases 12688 ss: ['ÑекÑнда', 'ÑекÑнде', 'ÑекÑнди'], 12689 m: ['Ñедан минÑÑ', 'Ñедне минÑÑе'], 12690 mm: ['минÑÑ', 'минÑÑе', 'минÑÑа'], 12691 h: ['Ñедан ÑаÑ', 'Ñедног ÑаÑа'], 12692 hh: ['ÑаÑ', 'ÑаÑа', 'ÑаÑи'], 12693 dd: ['дан', 'дана', 'дана'], 12694 MM: ['меÑеÑ', 'меÑеÑа', 'меÑеÑи'], 12695 yy: ['година', 'године', 'година'] 12696 }, 12697 correctGrammaticalCase: function (number, wordKey) { 12698 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); 12699 }, 12700 translate: function (number, withoutSuffix, key) { 12701 var wordKey = translator$1.words[key]; 12702 if (key.length === 1) { 12703 return withoutSuffix ? wordKey[0] : wordKey[1]; 12704 } else { 12705 return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey); 12706 } 12707 } 12708 }; 12709 12710 hooks.defineLocale('sr-cyrl', { 12711 months: 'ÑанÑаÑ_ÑебÑÑаÑ_маÑÑ_апÑил_маÑ_ÑÑн_ÑÑл_авгÑÑÑ_ÑепÑембаÑ_окÑобаÑ_новембаÑ_деÑембаÑ'.split('_'), 12712 monthsShort: 'Ñан._Ñеб._маÑ._апÑ._маÑ_ÑÑн_ÑÑл_авг._Ñеп._окÑ._нов._деÑ.'.split('_'), 12713 monthsParseExact: true, 12714 weekdays: 'недеÑа_понедеÑак_ÑÑоÑак_ÑÑеда_ÑеÑвÑÑак_пеÑак_ÑÑбоÑа'.split('_'), 12715 weekdaysShort: 'нед._пон._ÑÑо._ÑÑе._ÑеÑ._пеÑ._ÑÑб.'.split('_'), 12716 weekdaysMin: 'не_по_ÑÑ_ÑÑ_Ñе_пе_ÑÑ'.split('_'), 12717 weekdaysParseExact : true, 12718 longDateFormat: { 12719 LT: 'H:mm', 12720 LTS : 'H:mm:ss', 12721 L: 'DD.MM.YYYY', 12722 LL: 'D. MMMM YYYY', 12723 LLL: 'D. MMMM YYYY H:mm', 12724 LLLL: 'dddd, D. MMMM YYYY H:mm' 12725 }, 12726 calendar: { 12727 sameDay: '[Ð´Ð°Ð½Ð°Ñ Ñ] LT', 12728 nextDay: '[ÑÑÑÑа Ñ] LT', 12729 nextWeek: function () { 12730 switch (this.day()) { 12731 case 0: 12732 return '[Ñ] [недеÑÑ] [Ñ] LT'; 12733 case 3: 12734 return '[Ñ] [ÑÑедÑ] [Ñ] LT'; 12735 case 6: 12736 return '[Ñ] [ÑÑбоÑÑ] [Ñ] LT'; 12737 case 1: 12738 case 2: 12739 case 4: 12740 case 5: 12741 return '[Ñ] dddd [Ñ] LT'; 12742 } 12743 }, 12744 lastDay : '[ÑÑÑе Ñ] LT', 12745 lastWeek : function () { 12746 var lastWeekDays = [ 12747 '[пÑоÑле] [недеÑе] [Ñ] LT', 12748 '[пÑоÑлог] [понедеÑка] [Ñ] LT', 12749 '[пÑоÑлог] [ÑÑоÑка] [Ñ] LT', 12750 '[пÑоÑле] [ÑÑеде] [Ñ] LT', 12751 '[пÑоÑлог] [ÑеÑвÑÑка] [Ñ] LT', 12752 '[пÑоÑлог] [пеÑка] [Ñ] LT', 12753 '[пÑоÑле] [ÑÑбоÑе] [Ñ] LT' 12754 ]; 12755 return lastWeekDays[this.day()]; 12756 }, 12757 sameElse : 'L' 12758 }, 12759 relativeTime : { 12760 future : 'за %s', 12761 past : 'пÑе %s', 12762 s : 'неколико ÑекÑнди', 12763 ss : translator$1.translate, 12764 m : translator$1.translate, 12765 mm : translator$1.translate, 12766 h : translator$1.translate, 12767 hh : translator$1.translate, 12768 d : 'дан', 12769 dd : translator$1.translate, 12770 M : 'меÑеÑ', 12771 MM : translator$1.translate, 12772 y : 'годинÑ', 12773 yy : translator$1.translate 12774 }, 12775 dayOfMonthOrdinalParse: /\d{1,2}\./, 12776 ordinal : '%d.', 12777 week : { 12778 dow : 1, // Monday is the first day of the week. 12779 doy : 7 // The week that contains Jan 7th is the first week of the year. 12780 } 12781 }); 12782 12783 //! moment.js locale configuration 12784 12785 var translator$2 = { 12786 words: { //Different grammatical cases 12787 ss: ['sekunda', 'sekunde', 'sekundi'], 12788 m: ['jedan minut', 'jedne minute'], 12789 mm: ['minut', 'minute', 'minuta'], 12790 h: ['jedan sat', 'jednog sata'], 12791 hh: ['sat', 'sata', 'sati'], 12792 dd: ['dan', 'dana', 'dana'], 12793 MM: ['mesec', 'meseca', 'meseci'], 12794 yy: ['godina', 'godine', 'godina'] 12795 }, 12796 correctGrammaticalCase: function (number, wordKey) { 12797 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); 12798 }, 12799 translate: function (number, withoutSuffix, key) { 12800 var wordKey = translator$2.words[key]; 12801 if (key.length === 1) { 12802 return withoutSuffix ? wordKey[0] : wordKey[1]; 12803 } else { 12804 return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey); 12805 } 12806 } 12807 }; 12808 12809 hooks.defineLocale('sr', { 12810 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), 12811 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), 12812 monthsParseExact: true, 12813 weekdays: 'nedelja_ponedeljak_utorak_sreda_Äetvrtak_petak_subota'.split('_'), 12814 weekdaysShort: 'ned._pon._uto._sre._Äet._pet._sub.'.split('_'), 12815 weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), 12816 weekdaysParseExact : true, 12817 longDateFormat: { 12818 LT: 'H:mm', 12819 LTS : 'H:mm:ss', 12820 L: 'DD.MM.YYYY', 12821 LL: 'D. MMMM YYYY', 12822 LLL: 'D. MMMM YYYY H:mm', 12823 LLLL: 'dddd, D. MMMM YYYY H:mm' 12824 }, 12825 calendar: { 12826 sameDay: '[danas u] LT', 12827 nextDay: '[sutra u] LT', 12828 nextWeek: function () { 12829 switch (this.day()) { 12830 case 0: 12831 return '[u] [nedelju] [u] LT'; 12832 case 3: 12833 return '[u] [sredu] [u] LT'; 12834 case 6: 12835 return '[u] [subotu] [u] LT'; 12836 case 1: 12837 case 2: 12838 case 4: 12839 case 5: 12840 return '[u] dddd [u] LT'; 12841 } 12842 }, 12843 lastDay : '[juÄe u] LT', 12844 lastWeek : function () { 12845 var lastWeekDays = [ 12846 '[proÅ¡le] [nedelje] [u] LT', 12847 '[proÅ¡log] [ponedeljka] [u] LT', 12848 '[proÅ¡log] [utorka] [u] LT', 12849 '[proÅ¡le] [srede] [u] LT', 12850 '[proÅ¡log] [Äetvrtka] [u] LT', 12851 '[proÅ¡log] [petka] [u] LT', 12852 '[proÅ¡le] [subote] [u] LT' 12853 ]; 12854 return lastWeekDays[this.day()]; 12855 }, 12856 sameElse : 'L' 12857 }, 12858 relativeTime : { 12859 future : 'za %s', 12860 past : 'pre %s', 12861 s : 'nekoliko sekundi', 12862 ss : translator$2.translate, 12863 m : translator$2.translate, 12864 mm : translator$2.translate, 12865 h : translator$2.translate, 12866 hh : translator$2.translate, 12867 d : 'dan', 12868 dd : translator$2.translate, 12869 M : 'mesec', 12870 MM : translator$2.translate, 12871 y : 'godinu', 12872 yy : translator$2.translate 12873 }, 12874 dayOfMonthOrdinalParse: /\d{1,2}\./, 12875 ordinal : '%d.', 12876 week : { 12877 dow : 1, // Monday is the first day of the week. 12878 doy : 7 // The week that contains Jan 7th is the first week of the year. 12879 } 12880 }); 12881 12882 //! moment.js locale configuration 12883 12884 hooks.defineLocale('ss', { 12885 months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'), 12886 monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), 12887 weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'), 12888 weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), 12889 weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), 12890 weekdaysParseExact : true, 12891 longDateFormat : { 12892 LT : 'h:mm A', 12893 LTS : 'h:mm:ss A', 12894 L : 'DD/MM/YYYY', 12895 LL : 'D MMMM YYYY', 12896 LLL : 'D MMMM YYYY h:mm A', 12897 LLLL : 'dddd, D MMMM YYYY h:mm A' 12898 }, 12899 calendar : { 12900 sameDay : '[Namuhla nga] LT', 12901 nextDay : '[Kusasa nga] LT', 12902 nextWeek : 'dddd [nga] LT', 12903 lastDay : '[Itolo nga] LT', 12904 lastWeek : 'dddd [leliphelile] [nga] LT', 12905 sameElse : 'L' 12906 }, 12907 relativeTime : { 12908 future : 'nga %s', 12909 past : 'wenteka nga %s', 12910 s : 'emizuzwana lomcane', 12911 ss : '%d mzuzwana', 12912 m : 'umzuzu', 12913 mm : '%d emizuzu', 12914 h : 'lihora', 12915 hh : '%d emahora', 12916 d : 'lilanga', 12917 dd : '%d emalanga', 12918 M : 'inyanga', 12919 MM : '%d tinyanga', 12920 y : 'umnyaka', 12921 yy : '%d iminyaka' 12922 }, 12923 meridiemParse: /ekuseni|emini|entsambama|ebusuku/, 12924 meridiem : function (hours, minutes, isLower) { 12925 if (hours < 11) { 12926 return 'ekuseni'; 12927 } else if (hours < 15) { 12928 return 'emini'; 12929 } else if (hours < 19) { 12930 return 'entsambama'; 12931 } else { 12932 return 'ebusuku'; 12933 } 12934 }, 12935 meridiemHour : function (hour, meridiem) { 12936 if (hour === 12) { 12937 hour = 0; 12938 } 12939 if (meridiem === 'ekuseni') { 12940 return hour; 12941 } else if (meridiem === 'emini') { 12942 return hour >= 11 ? hour : hour + 12; 12943 } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { 12944 if (hour === 0) { 12945 return 0; 12946 } 12947 return hour + 12; 12948 } 12949 }, 12950 dayOfMonthOrdinalParse: /\d{1,2}/, 12951 ordinal : '%d', 12952 week : { 12953 dow : 1, // Monday is the first day of the week. 12954 doy : 4 // The week that contains Jan 4th is the first week of the year. 12955 } 12956 }); 12957 12958 //! moment.js locale configuration 12959 12960 hooks.defineLocale('sv', { 12961 months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), 12962 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 12963 weekdays : 'söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), 12964 weekdaysShort : 'sön_mÃ¥n_tis_ons_tor_fre_lör'.split('_'), 12965 weekdaysMin : 'sö_mÃ¥_ti_on_to_fr_lö'.split('_'), 12966 longDateFormat : { 12967 LT : 'HH:mm', 12968 LTS : 'HH:mm:ss', 12969 L : 'YYYY-MM-DD', 12970 LL : 'D MMMM YYYY', 12971 LLL : 'D MMMM YYYY [kl.] HH:mm', 12972 LLLL : 'dddd D MMMM YYYY [kl.] HH:mm', 12973 lll : 'D MMM YYYY HH:mm', 12974 llll : 'ddd D MMM YYYY HH:mm' 12975 }, 12976 calendar : { 12977 sameDay: '[Idag] LT', 12978 nextDay: '[Imorgon] LT', 12979 lastDay: '[IgÃ¥r] LT', 12980 nextWeek: '[PÃ¥] dddd LT', 12981 lastWeek: '[I] dddd[s] LT', 12982 sameElse: 'L' 12983 }, 12984 relativeTime : { 12985 future : 'om %s', 12986 past : 'för %s sedan', 12987 s : 'nÃ¥gra sekunder', 12988 ss : '%d sekunder', 12989 m : 'en minut', 12990 mm : '%d minuter', 12991 h : 'en timme', 12992 hh : '%d timmar', 12993 d : 'en dag', 12994 dd : '%d dagar', 12995 M : 'en mÃ¥nad', 12996 MM : '%d mÃ¥nader', 12997 y : 'ett Ã¥r', 12998 yy : '%d Ã¥r' 12999 }, 13000 dayOfMonthOrdinalParse: /\d{1,2}(e|a)/, 13001 ordinal : function (number) { 13002 var b = number % 10, 13003 output = (~~(number % 100 / 10) === 1) ? 'e' : 13004 (b === 1) ? 'a' : 13005 (b === 2) ? 'a' : 13006 (b === 3) ? 'e' : 'e'; 13007 return number + output; 13008 }, 13009 week : { 13010 dow : 1, // Monday is the first day of the week. 13011 doy : 4 // The week that contains Jan 4th is the first week of the year. 13012 } 13013 }); 13014 13015 //! moment.js locale configuration 13016 13017 hooks.defineLocale('sw', { 13018 months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), 13019 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), 13020 weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), 13021 weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), 13022 weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), 13023 weekdaysParseExact : true, 13024 longDateFormat : { 13025 LT : 'HH:mm', 13026 LTS : 'HH:mm:ss', 13027 L : 'DD.MM.YYYY', 13028 LL : 'D MMMM YYYY', 13029 LLL : 'D MMMM YYYY HH:mm', 13030 LLLL : 'dddd, D MMMM YYYY HH:mm' 13031 }, 13032 calendar : { 13033 sameDay : '[leo saa] LT', 13034 nextDay : '[kesho saa] LT', 13035 nextWeek : '[wiki ijayo] dddd [saat] LT', 13036 lastDay : '[jana] LT', 13037 lastWeek : '[wiki iliyopita] dddd [saat] LT', 13038 sameElse : 'L' 13039 }, 13040 relativeTime : { 13041 future : '%s baadaye', 13042 past : 'tokea %s', 13043 s : 'hivi punde', 13044 ss : 'sekunde %d', 13045 m : 'dakika moja', 13046 mm : 'dakika %d', 13047 h : 'saa limoja', 13048 hh : 'masaa %d', 13049 d : 'siku moja', 13050 dd : 'masiku %d', 13051 M : 'mwezi mmoja', 13052 MM : 'miezi %d', 13053 y : 'mwaka mmoja', 13054 yy : 'miaka %d' 13055 }, 13056 week : { 13057 dow : 1, // Monday is the first day of the week. 13058 doy : 7 // The week that contains Jan 7th is the first week of the year. 13059 } 13060 }); 13061 13062 //! moment.js locale configuration 13063 13064 var symbolMap$f = { 13065 '1': '௧', 13066 '2': '௨', 13067 '3': '௩', 13068 '4': '௪', 13069 '5': '௫', 13070 '6': '௬', 13071 '7': 'à¯', 13072 '8': '௮', 13073 '9': '௯', 13074 '0': '௦' 13075 }, numberMap$e = { 13076 '௧': '1', 13077 '௨': '2', 13078 '௩': '3', 13079 '௪': '4', 13080 '௫': '5', 13081 '௬': '6', 13082 'à¯': '7', 13083 '௮': '8', 13084 '௯': '9', 13085 '௦': '0' 13086 }; 13087 13088 hooks.defineLocale('ta', { 13089 months : 'à®à®©à®µà®°à®¿_பிபà¯à®°à®µà®°à®¿_மாரà¯à®à¯_à®à®ªà¯à®°à®²à¯_à®®à¯_à®à¯à®©à¯_à®à¯à®²à¯_à®à®à®¸à¯à®à¯_à®à¯à®ªà¯à®à¯à®®à¯à®ªà®°à¯_à® à®à¯à®à¯à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_à®à®¿à®à®®à¯à®ªà®°à¯'.split('_'), 13090 monthsShort : 'à®à®©à®µà®°à®¿_பிபà¯à®°à®µà®°à®¿_மாரà¯à®à¯_à®à®ªà¯à®°à®²à¯_à®®à¯_à®à¯à®©à¯_à®à¯à®²à¯_à®à®à®¸à¯à®à¯_à®à¯à®ªà¯à®à¯à®®à¯à®ªà®°à¯_à® à®à¯à®à¯à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_à®à®¿à®à®®à¯à®ªà®°à¯'.split('_'), 13091 weekdays : 'à®à®¾à®¯à®¿à®±à¯à®±à¯à®à¯à®à®¿à®´à®®à¯_திà®à¯à®à®à¯à®à®¿à®´à®®à¯_à®à¯à®µà¯à®µà®¾à®¯à¯à®à®¿à®´à®®à¯_பà¯à®¤à®©à¯à®à®¿à®´à®®à¯_வியாழà®à¯à®à®¿à®´à®®à¯_வà¯à®³à¯à®³à®¿à®à¯à®à®¿à®´à®®à¯_à®à®©à®¿à®à¯à®à®¿à®´à®®à¯'.split('_'), 13092 weekdaysShort : 'à®à®¾à®¯à®¿à®±à¯_திà®à¯à®à®³à¯_à®à¯à®µà¯à®µà®¾à®¯à¯_பà¯à®¤à®©à¯_வியாழனà¯_வà¯à®³à¯à®³à®¿_à®à®©à®¿'.split('_'), 13093 weekdaysMin : 'à®à®¾_தி_à®à¯_பà¯_வி_வà¯_à®'.split('_'), 13094 longDateFormat : { 13095 LT : 'HH:mm', 13096 LTS : 'HH:mm:ss', 13097 L : 'DD/MM/YYYY', 13098 LL : 'D MMMM YYYY', 13099 LLL : 'D MMMM YYYY, HH:mm', 13100 LLLL : 'dddd, D MMMM YYYY, HH:mm' 13101 }, 13102 calendar : { 13103 sameDay : '[à®à®©à¯à®±à¯] LT', 13104 nextDay : '[நாளà¯] LT', 13105 nextWeek : 'dddd, LT', 13106 lastDay : '[நà¯à®±à¯à®±à¯] LT', 13107 lastWeek : '[à®à®à®¨à¯à®¤ வாரமà¯] dddd, LT', 13108 sameElse : 'L' 13109 }, 13110 relativeTime : { 13111 future : '%s à®à®²à¯', 13112 past : '%s à®®à¯à®©à¯', 13113 s : 'à®à®°à¯ à®à®¿à®² விநாà®à®¿à®à®³à¯', 13114 ss : '%d விநாà®à®¿à®à®³à¯', 13115 m : 'à®à®°à¯ நிமிà®à®®à¯', 13116 mm : '%d நிமிà®à®à¯à®à®³à¯', 13117 h : 'à®à®°à¯ மணி நà¯à®°à®®à¯', 13118 hh : '%d மணி நà¯à®°à®®à¯', 13119 d : 'à®à®°à¯ நாளà¯', 13120 dd : '%d நாà®à¯à®à®³à¯', 13121 M : 'à®à®°à¯ மாதமà¯', 13122 MM : '%d மாதà®à¯à®à®³à¯', 13123 y : 'à®à®°à¯ வரà¯à®à®®à¯', 13124 yy : '%d à®à®£à¯à®à¯à®à®³à¯' 13125 }, 13126 dayOfMonthOrdinalParse: /\d{1,2}வதà¯/, 13127 ordinal : function (number) { 13128 return number + 'வதà¯'; 13129 }, 13130 preparse: function (string) { 13131 return string.replace(/[௧௨௩௪௫௬à¯à¯®à¯¯à¯¦]/g, function (match) { 13132 return numberMap$e[match]; 13133 }); 13134 }, 13135 postformat: function (string) { 13136 return string.replace(/\d/g, function (match) { 13137 return symbolMap$f[match]; 13138 }); 13139 }, 13140 // refer http://ta.wikipedia.org/s/1er1 13141 meridiemParse: /யாமமà¯|வà¯à®à®±à¯|à®à®¾à®²à¯|நணà¯à®ªà®à®²à¯|à®à®±à¯à®ªà®¾à®à¯|மாலà¯/, 13142 meridiem : function (hour, minute, isLower) { 13143 if (hour < 2) { 13144 return ' யாமமà¯'; 13145 } else if (hour < 6) { 13146 return ' வà¯à®à®±à¯'; // வà¯à®à®±à¯ 13147 } else if (hour < 10) { 13148 return ' à®à®¾à®²à¯'; // à®à®¾à®²à¯ 13149 } else if (hour < 14) { 13150 return ' நணà¯à®ªà®à®²à¯'; // நணà¯à®ªà®à®²à¯ 13151 } else if (hour < 18) { 13152 return ' à®à®±à¯à®ªà®¾à®à¯'; // à®à®±à¯à®ªà®¾à®à¯ 13153 } else if (hour < 22) { 13154 return ' மாலà¯'; // மால௠13155 } else { 13156 return ' யாமமà¯'; 13157 } 13158 }, 13159 meridiemHour : function (hour, meridiem) { 13160 if (hour === 12) { 13161 hour = 0; 13162 } 13163 if (meridiem === 'யாமமà¯') { 13164 return hour < 2 ? hour : hour + 12; 13165 } else if (meridiem === 'வà¯à®à®±à¯' || meridiem === 'à®à®¾à®²à¯') { 13166 return hour; 13167 } else if (meridiem === 'நணà¯à®ªà®à®²à¯') { 13168 return hour >= 10 ? hour : hour + 12; 13169 } else { 13170 return hour + 12; 13171 } 13172 }, 13173 week : { 13174 dow : 0, // Sunday is the first day of the week. 13175 doy : 6 // The week that contains Jan 6th is the first week of the year. 13176 } 13177 }); 13178 13179 //! moment.js locale configuration 13180 13181 hooks.defineLocale('te', { 13182 months : 'à°à°¨à°µà°°à°¿_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°à°¿_à°à°ªà±à°°à°¿à°²à±_à°®à±_à°à±à°¨à±_à°à±à°²à±_à°à°à°¸à±à°à±_à°¸à±à°ªà±à°à±à°à°¬à°°à±_à° à°à±à°à±à°¬à°°à±_నవà°à°¬à°°à±_à°¡à°¿à°¸à±à°à°¬à°°à±'.split('_'), 13183 monthsShort : 'à°à°¨._à°«à°¿à°¬à±à°°._మారà±à°à°¿_à°à°ªà±à°°à°¿._à°®à±_à°à±à°¨à±_à°à±à°²à±_à°à°._à°¸à±à°ªà±._à° à°à±à°à±._నవ._à°¡à°¿à°¸à±.'.split('_'), 13184 monthsParseExact : true, 13185 weekdays : 'à°à°¦à°¿à°µà°¾à°°à°_à°¸à±à°®à°µà°¾à°°à°_à°®à°à°à°³à°µà°¾à°°à°_à°¬à±à°§à°µà°¾à°°à°_à°à±à°°à±à°µà°¾à°°à°_à°¶à±à°à±à°°à°µà°¾à°°à°_శనివారà°'.split('_'), 13186 weekdaysShort : 'à°à°¦à°¿_à°¸à±à°®_à°®à°à°à°³_à°¬à±à°§_à°à±à°°à±_à°¶à±à°à±à°°_శని'.split('_'), 13187 weekdaysMin : 'à°_à°¸à±_à°®à°_à°¬à±_à°à±_à°¶à±_à°¶'.split('_'), 13188 longDateFormat : { 13189 LT : 'A h:mm', 13190 LTS : 'A h:mm:ss', 13191 L : 'DD/MM/YYYY', 13192 LL : 'D MMMM YYYY', 13193 LLL : 'D MMMM YYYY, A h:mm', 13194 LLLL : 'dddd, D MMMM YYYY, A h:mm' 13195 }, 13196 calendar : { 13197 sameDay : '[à°¨à±à°¡à±] LT', 13198 nextDay : '[à°°à±à°ªà±] LT', 13199 nextWeek : 'dddd, LT', 13200 lastDay : '[నినà±à°¨] LT', 13201 lastWeek : '[à°à°¤] dddd, LT', 13202 sameElse : 'L' 13203 }, 13204 relativeTime : { 13205 future : '%s à°²à±', 13206 past : '%s à°à±à°°à°¿à°¤à°', 13207 s : 'à°à±à°¨à±à°¨à°¿ à°à±à°·à°£à°¾à°²à±', 13208 ss : '%d à°¸à±à°à°¨à±à°²à±', 13209 m : 'à°à° నిమిషà°', 13210 mm : '%d నిమిషాలà±', 13211 h : 'à°à° à°à°à°', 13212 hh : '%d à°à°à°à°²à±', 13213 d : 'à°à° à°°à±à°à±', 13214 dd : '%d à°°à±à°à±à°²à±', 13215 M : 'à°à° à°¨à±à°²', 13216 MM : '%d à°¨à±à°²à°²à±', 13217 y : 'à°à° à°¸à°à°µà°¤à±à°¸à°°à°', 13218 yy : '%d à°¸à°à°µà°¤à±à°¸à°°à°¾à°²à±' 13219 }, 13220 dayOfMonthOrdinalParse : /\d{1,2}à°µ/, 13221 ordinal : '%dà°µ', 13222 meridiemParse: /రాతà±à°°à°¿|à°à°¦à°¯à°|మధà±à°¯à°¾à°¹à±à°¨à°|సాయà°à°¤à±à°°à°/, 13223 meridiemHour : function (hour, meridiem) { 13224 if (hour === 12) { 13225 hour = 0; 13226 } 13227 if (meridiem === 'రాతà±à°°à°¿') { 13228 return hour < 4 ? hour : hour + 12; 13229 } else if (meridiem === 'à°à°¦à°¯à°') { 13230 return hour; 13231 } else if (meridiem === 'మధà±à°¯à°¾à°¹à±à°¨à°') { 13232 return hour >= 10 ? hour : hour + 12; 13233 } else if (meridiem === 'సాయà°à°¤à±à°°à°') { 13234 return hour + 12; 13235 } 13236 }, 13237 meridiem : function (hour, minute, isLower) { 13238 if (hour < 4) { 13239 return 'రాతà±à°°à°¿'; 13240 } else if (hour < 10) { 13241 return 'à°à°¦à°¯à°'; 13242 } else if (hour < 17) { 13243 return 'మధà±à°¯à°¾à°¹à±à°¨à°'; 13244 } else if (hour < 20) { 13245 return 'సాయà°à°¤à±à°°à°'; 13246 } else { 13247 return 'రాతà±à°°à°¿'; 13248 } 13249 }, 13250 week : { 13251 dow : 0, // Sunday is the first day of the week. 13252 doy : 6 // The week that contains Jan 6th is the first week of the year. 13253 } 13254 }); 13255 13256 //! moment.js locale configuration 13257 13258 hooks.defineLocale('tet', { 13259 months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'), 13260 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), 13261 weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), 13262 weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), 13263 weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), 13264 longDateFormat : { 13265 LT : 'HH:mm', 13266 LTS : 'HH:mm:ss', 13267 L : 'DD/MM/YYYY', 13268 LL : 'D MMMM YYYY', 13269 LLL : 'D MMMM YYYY HH:mm', 13270 LLLL : 'dddd, D MMMM YYYY HH:mm' 13271 }, 13272 calendar : { 13273 sameDay: '[Ohin iha] LT', 13274 nextDay: '[Aban iha] LT', 13275 nextWeek: 'dddd [iha] LT', 13276 lastDay: '[Horiseik iha] LT', 13277 lastWeek: 'dddd [semana kotuk] [iha] LT', 13278 sameElse: 'L' 13279 }, 13280 relativeTime : { 13281 future : 'iha %s', 13282 past : '%s liuba', 13283 s : 'minutu balun', 13284 ss : 'minutu %d', 13285 m : 'minutu ida', 13286 mm : 'minutu %d', 13287 h : 'oras ida', 13288 hh : 'oras %d', 13289 d : 'loron ida', 13290 dd : 'loron %d', 13291 M : 'fulan ida', 13292 MM : 'fulan %d', 13293 y : 'tinan ida', 13294 yy : 'tinan %d' 13295 }, 13296 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 13297 ordinal : function (number) { 13298 var b = number % 10, 13299 output = (~~(number % 100 / 10) === 1) ? 'th' : 13300 (b === 1) ? 'st' : 13301 (b === 2) ? 'nd' : 13302 (b === 3) ? 'rd' : 'th'; 13303 return number + output; 13304 }, 13305 week : { 13306 dow : 1, // Monday is the first day of the week. 13307 doy : 4 // The week that contains Jan 4th is the first week of the year. 13308 } 13309 }); 13310 13311 //! moment.js locale configuration 13312 13313 var suffixes$3 = { 13314 0: '-Ñм', 13315 1: '-Ñм', 13316 2: '-Ñм', 13317 3: '-Ñм', 13318 4: '-Ñм', 13319 5: '-Ñм', 13320 6: '-Ñм', 13321 7: '-Ñм', 13322 8: '-Ñм', 13323 9: '-Ñм', 13324 10: '-Ñм', 13325 12: '-Ñм', 13326 13: '-Ñм', 13327 20: '-Ñм', 13328 30: '-Ñм', 13329 40: '-Ñм', 13330 50: '-Ñм', 13331 60: '-Ñм', 13332 70: '-Ñм', 13333 80: '-Ñм', 13334 90: '-Ñм', 13335 100: '-Ñм' 13336 }; 13337 13338 hooks.defineLocale('tg', { 13339 months : 'ÑнваÑ_ÑевÑал_маÑÑ_апÑел_май_иÑн_иÑл_авгÑÑÑ_ÑенÑÑбÑ_окÑÑбÑ_ноÑбÑ_декабÑ'.split('_'), 13340 monthsShort : 'Ñнв_Ñев_маÑ_апÑ_май_иÑн_иÑл_авг_Ñен_окÑ_ноÑ_дек'.split('_'), 13341 weekdays : 'ÑкÑанбе_дÑÑанбе_ÑеÑанбе_ÑоÑÑанбе_панҷÑанбе_Ò·ÑмÑа_Ñанбе'.split('_'), 13342 weekdaysShort : 'ÑÑб_дÑб_ÑÑб_ÑÑб_пÑб_Ò·Ñм_Ñнб'.split('_'), 13343 weekdaysMin : 'ÑÑ_дÑ_ÑÑ_ÑÑ_пÑ_ҷм_Ñб'.split('_'), 13344 longDateFormat : { 13345 LT : 'HH:mm', 13346 LTS : 'HH:mm:ss', 13347 L : 'DD/MM/YYYY', 13348 LL : 'D MMMM YYYY', 13349 LLL : 'D MMMM YYYY HH:mm', 13350 LLLL : 'dddd, D MMMM YYYY HH:mm' 13351 }, 13352 calendar : { 13353 sameDay : '[ÐмÑӯз ÑоаÑи] LT', 13354 nextDay : '[Ðагоҳ ÑоаÑи] LT', 13355 lastDay : '[ÐиÑӯз ÑоаÑи] LT', 13356 nextWeek : 'dddd[и] [ҳаÑÑаи оÑнда ÑоаÑи] LT', 13357 lastWeek : 'dddd[и] [ҳаÑÑаи гÑзаÑÑа ÑоаÑи] LT', 13358 sameElse : 'L' 13359 }, 13360 relativeTime : { 13361 future : 'баÑди %s', 13362 past : '%s пеÑ', 13363 s : 'ÑкÑанд ÑониÑ', 13364 m : 'Ñк даÒиÒа', 13365 mm : '%d даÒиÒа', 13366 h : 'Ñк ÑоаÑ', 13367 hh : '%d ÑоаÑ', 13368 d : 'Ñк Ñӯз', 13369 dd : '%d Ñӯз', 13370 M : 'Ñк моҳ', 13371 MM : '%d моҳ', 13372 y : 'Ñк Ñол', 13373 yy : '%d Ñол' 13374 }, 13375 meridiemParse: /Ñаб|ÑÑбҳ|Ñӯз|бегоҳ/, 13376 meridiemHour: function (hour, meridiem) { 13377 if (hour === 12) { 13378 hour = 0; 13379 } 13380 if (meridiem === 'Ñаб') { 13381 return hour < 4 ? hour : hour + 12; 13382 } else if (meridiem === 'ÑÑбҳ') { 13383 return hour; 13384 } else if (meridiem === 'Ñӯз') { 13385 return hour >= 11 ? hour : hour + 12; 13386 } else if (meridiem === 'бегоҳ') { 13387 return hour + 12; 13388 } 13389 }, 13390 meridiem: function (hour, minute, isLower) { 13391 if (hour < 4) { 13392 return 'Ñаб'; 13393 } else if (hour < 11) { 13394 return 'ÑÑбҳ'; 13395 } else if (hour < 16) { 13396 return 'Ñӯз'; 13397 } else if (hour < 19) { 13398 return 'бегоҳ'; 13399 } else { 13400 return 'Ñаб'; 13401 } 13402 }, 13403 dayOfMonthOrdinalParse: /\d{1,2}-(Ñм|Ñм)/, 13404 ordinal: function (number) { 13405 var a = number % 10, 13406 b = number >= 100 ? 100 : null; 13407 return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]); 13408 }, 13409 week : { 13410 dow : 1, // Monday is the first day of the week. 13411 doy : 7 // The week that contains Jan 1th is the first week of the year. 13412 } 13413 }); 13414 13415 //! moment.js locale configuration 13416 13417 hooks.defineLocale('th', { 13418 months : 'มà¸à¸£à¸²à¸à¸¡_à¸à¸¸à¸¡à¸ าà¸à¸±à¸à¸à¹_มีà¸à¸²à¸à¸¡_à¹à¸¡à¸©à¸²à¸¢à¸_à¸à¸¤à¸©à¸ าà¸à¸¡_มิà¸à¸¸à¸à¸²à¸¢à¸_à¸à¸£à¸à¸à¸²à¸à¸¡_สิà¸à¸«à¸²à¸à¸¡_à¸à¸±à¸à¸¢à¸²à¸¢à¸_à¸à¸¸à¸¥à¸²à¸à¸¡_à¸à¸¤à¸¨à¸à¸´à¸à¸²à¸¢à¸_à¸à¸±à¸à¸§à¸²à¸à¸¡'.split('_'), 13419 monthsShort : 'ม.à¸._à¸.à¸._มี.à¸._à¹à¸¡.ย._à¸.à¸._มิ.ย._à¸.à¸._ส.à¸._à¸.ย._à¸.à¸._à¸.ย._à¸.à¸.'.split('_'), 13420 monthsParseExact: true, 13421 weekdays : 'à¸à¸²à¸à¸´à¸à¸¢à¹_à¸à¸±à¸à¸à¸£à¹_à¸à¸±à¸à¸à¸²à¸£_à¸à¸¸à¸_à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ_ศุà¸à¸£à¹_à¹à¸ªà¸²à¸£à¹'.split('_'), 13422 weekdaysShort : 'à¸à¸²à¸à¸´à¸à¸¢à¹_à¸à¸±à¸à¸à¸£à¹_à¸à¸±à¸à¸à¸²à¸£_à¸à¸¸à¸_à¸à¸¤à¸«à¸±à¸ª_ศุà¸à¸£à¹_à¹à¸ªà¸²à¸£à¹'.split('_'), // yes, three characters difference 13423 weekdaysMin : 'à¸à¸²._à¸._à¸._à¸._à¸à¸¤._ศ._ส.'.split('_'), 13424 weekdaysParseExact : true, 13425 longDateFormat : { 13426 LT : 'H:mm', 13427 LTS : 'H:mm:ss', 13428 L : 'DD/MM/YYYY', 13429 LL : 'D MMMM YYYY', 13430 LLL : 'D MMMM YYYY à¹à¸§à¸¥à¸² H:mm', 13431 LLLL : 'วัà¸ddddà¸à¸µà¹ D MMMM YYYY à¹à¸§à¸¥à¸² H:mm' 13432 }, 13433 meridiemParse: /à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸|หลัà¸à¹à¸à¸µà¹à¸¢à¸/, 13434 isPM: function (input) { 13435 return input === 'หลัà¸à¹à¸à¸µà¹à¸¢à¸'; 13436 }, 13437 meridiem : function (hour, minute, isLower) { 13438 if (hour < 12) { 13439 return 'à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸'; 13440 } else { 13441 return 'หลัà¸à¹à¸à¸µà¹à¸¢à¸'; 13442 } 13443 }, 13444 calendar : { 13445 sameDay : '[วัà¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT', 13446 nextDay : '[à¸à¸£à¸¸à¹à¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT', 13447 nextWeek : 'dddd[หà¸à¹à¸² à¹à¸§à¸¥à¸²] LT', 13448 lastDay : '[à¹à¸¡à¸·à¹à¸à¸§à¸²à¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT', 13449 lastWeek : '[วัà¸]dddd[à¸à¸µà¹à¹à¸¥à¹à¸§ à¹à¸§à¸¥à¸²] LT', 13450 sameElse : 'L' 13451 }, 13452 relativeTime : { 13453 future : 'à¸à¸µà¸ %s', 13454 past : '%sà¸à¸µà¹à¹à¸¥à¹à¸§', 13455 s : 'à¹à¸¡à¹à¸à¸µà¹à¸§à¸´à¸à¸²à¸à¸µ', 13456 ss : '%d วิà¸à¸²à¸à¸µ', 13457 m : '1 à¸à¸²à¸à¸µ', 13458 mm : '%d à¸à¸²à¸à¸µ', 13459 h : '1 à¸à¸±à¹à¸§à¹à¸¡à¸', 13460 hh : '%d à¸à¸±à¹à¸§à¹à¸¡à¸', 13461 d : '1 วัà¸', 13462 dd : '%d วัà¸', 13463 M : '1 à¹à¸à¸·à¸à¸', 13464 MM : '%d à¹à¸à¸·à¸à¸', 13465 y : '1 à¸à¸µ', 13466 yy : '%d à¸à¸µ' 13467 } 13468 }); 13469 13470 //! moment.js locale configuration 13471 13472 hooks.defineLocale('tl-ph', { 13473 months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'), 13474 monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), 13475 weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'), 13476 weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), 13477 weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), 13478 longDateFormat : { 13479 LT : 'HH:mm', 13480 LTS : 'HH:mm:ss', 13481 L : 'MM/D/YYYY', 13482 LL : 'MMMM D, YYYY', 13483 LLL : 'MMMM D, YYYY HH:mm', 13484 LLLL : 'dddd, MMMM DD, YYYY HH:mm' 13485 }, 13486 calendar : { 13487 sameDay: 'LT [ngayong araw]', 13488 nextDay: '[Bukas ng] LT', 13489 nextWeek: 'LT [sa susunod na] dddd', 13490 lastDay: 'LT [kahapon]', 13491 lastWeek: 'LT [noong nakaraang] dddd', 13492 sameElse: 'L' 13493 }, 13494 relativeTime : { 13495 future : 'sa loob ng %s', 13496 past : '%s ang nakalipas', 13497 s : 'ilang segundo', 13498 ss : '%d segundo', 13499 m : 'isang minuto', 13500 mm : '%d minuto', 13501 h : 'isang oras', 13502 hh : '%d oras', 13503 d : 'isang araw', 13504 dd : '%d araw', 13505 M : 'isang buwan', 13506 MM : '%d buwan', 13507 y : 'isang taon', 13508 yy : '%d taon' 13509 }, 13510 dayOfMonthOrdinalParse: /\d{1,2}/, 13511 ordinal : function (number) { 13512 return number; 13513 }, 13514 week : { 13515 dow : 1, // Monday is the first day of the week. 13516 doy : 4 // The week that contains Jan 4th is the first week of the year. 13517 } 13518 }); 13519 13520 //! moment.js locale configuration 13521 13522 var numbersNouns = 'pagh_waâ_chaâ_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); 13523 13524 function translateFuture(output) { 13525 var time = output; 13526 time = (output.indexOf('jaj') !== -1) ? 13527 time.slice(0, -3) + 'leS' : 13528 (output.indexOf('jar') !== -1) ? 13529 time.slice(0, -3) + 'waQ' : 13530 (output.indexOf('DIS') !== -1) ? 13531 time.slice(0, -3) + 'nem' : 13532 time + ' pIq'; 13533 return time; 13534 } 13535 13536 function translatePast(output) { 13537 var time = output; 13538 time = (output.indexOf('jaj') !== -1) ? 13539 time.slice(0, -3) + 'Huâ' : 13540 (output.indexOf('jar') !== -1) ? 13541 time.slice(0, -3) + 'wen' : 13542 (output.indexOf('DIS') !== -1) ? 13543 time.slice(0, -3) + 'ben' : 13544 time + ' ret'; 13545 return time; 13546 } 13547 13548 function translate$a(number, withoutSuffix, string, isFuture) { 13549 var numberNoun = numberAsNoun(number); 13550 switch (string) { 13551 case 'ss': 13552 return numberNoun + ' lup'; 13553 case 'mm': 13554 return numberNoun + ' tup'; 13555 case 'hh': 13556 return numberNoun + ' rep'; 13557 case 'dd': 13558 return numberNoun + ' jaj'; 13559 case 'MM': 13560 return numberNoun + ' jar'; 13561 case 'yy': 13562 return numberNoun + ' DIS'; 13563 } 13564 } 13565 13566 function numberAsNoun(number) { 13567 var hundred = Math.floor((number % 1000) / 100), 13568 ten = Math.floor((number % 100) / 10), 13569 one = number % 10, 13570 word = ''; 13571 if (hundred > 0) { 13572 word += numbersNouns[hundred] + 'vatlh'; 13573 } 13574 if (ten > 0) { 13575 word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH'; 13576 } 13577 if (one > 0) { 13578 word += ((word !== '') ? ' ' : '') + numbersNouns[one]; 13579 } 13580 return (word === '') ? 'pagh' : word; 13581 } 13582 13583 hooks.defineLocale('tlh', { 13584 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('_'), 13585 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('_'), 13586 monthsParseExact : true, 13587 weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), 13588 weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), 13589 weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), 13590 longDateFormat : { 13591 LT : 'HH:mm', 13592 LTS : 'HH:mm:ss', 13593 L : 'DD.MM.YYYY', 13594 LL : 'D MMMM YYYY', 13595 LLL : 'D MMMM YYYY HH:mm', 13596 LLLL : 'dddd, D MMMM YYYY HH:mm' 13597 }, 13598 calendar : { 13599 sameDay: '[DaHjaj] LT', 13600 nextDay: '[waâleS] LT', 13601 nextWeek: 'LLL', 13602 lastDay: '[waâHuâ] LT', 13603 lastWeek: 'LLL', 13604 sameElse: 'L' 13605 }, 13606 relativeTime : { 13607 future : translateFuture, 13608 past : translatePast, 13609 s : 'puS lup', 13610 ss : translate$a, 13611 m : 'waâ tup', 13612 mm : translate$a, 13613 h : 'waâ rep', 13614 hh : translate$a, 13615 d : 'waâ jaj', 13616 dd : translate$a, 13617 M : 'waâ jar', 13618 MM : translate$a, 13619 y : 'waâ DIS', 13620 yy : translate$a 13621 }, 13622 dayOfMonthOrdinalParse: /\d{1,2}\./, 13623 ordinal : '%d.', 13624 week : { 13625 dow : 1, // Monday is the first day of the week. 13626 doy : 4 // The week that contains Jan 4th is the first week of the year. 13627 } 13628 }); 13629 13630 var suffixes$4 = { 13631 1: '\'inci', 13632 5: '\'inci', 13633 8: '\'inci', 13634 70: '\'inci', 13635 80: '\'inci', 13636 2: '\'nci', 13637 7: '\'nci', 13638 20: '\'nci', 13639 50: '\'nci', 13640 3: '\'üncü', 13641 4: '\'üncü', 13642 100: '\'üncü', 13643 6: '\'ncı', 13644 9: '\'uncu', 13645 10: '\'uncu', 13646 30: '\'uncu', 13647 60: '\'ıncı', 13648 90: '\'ıncı' 13649 }; 13650 13651 hooks.defineLocale('tr', { 13652 months : 'Ocak_Åubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄustos_Eylül_Ekim_Kasım_Aralık'.split('_'), 13653 monthsShort : 'Oca_Åub_Mar_Nis_May_Haz_Tem_AÄu_Eyl_Eki_Kas_Ara'.split('_'), 13654 weekdays : 'Pazar_Pazartesi_Salı_ÃarÅamba_PerÅembe_Cuma_Cumartesi'.split('_'), 13655 weekdaysShort : 'Paz_Pts_Sal_Ãar_Per_Cum_Cts'.split('_'), 13656 weekdaysMin : 'Pz_Pt_Sa_Ãa_Pe_Cu_Ct'.split('_'), 13657 longDateFormat : { 13658 LT : 'HH:mm', 13659 LTS : 'HH:mm:ss', 13660 L : 'DD.MM.YYYY', 13661 LL : 'D MMMM YYYY', 13662 LLL : 'D MMMM YYYY HH:mm', 13663 LLLL : 'dddd, D MMMM YYYY HH:mm' 13664 }, 13665 calendar : { 13666 sameDay : '[bugün saat] LT', 13667 nextDay : '[yarın saat] LT', 13668 nextWeek : '[gelecek] dddd [saat] LT', 13669 lastDay : '[dün] LT', 13670 lastWeek : '[geçen] dddd [saat] LT', 13671 sameElse : 'L' 13672 }, 13673 relativeTime : { 13674 future : '%s sonra', 13675 past : '%s önce', 13676 s : 'birkaç saniye', 13677 ss : '%d saniye', 13678 m : 'bir dakika', 13679 mm : '%d dakika', 13680 h : 'bir saat', 13681 hh : '%d saat', 13682 d : 'bir gün', 13683 dd : '%d gün', 13684 M : 'bir ay', 13685 MM : '%d ay', 13686 y : 'bir yıl', 13687 yy : '%d yıl' 13688 }, 13689 ordinal: function (number, period) { 13690 switch (period) { 13691 case 'd': 13692 case 'D': 13693 case 'Do': 13694 case 'DD': 13695 return number; 13696 default: 13697 if (number === 0) { // special case for zero 13698 return number + '\'ıncı'; 13699 } 13700 var a = number % 10, 13701 b = number % 100 - a, 13702 c = number >= 100 ? 100 : null; 13703 return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]); 13704 } 13705 }, 13706 week : { 13707 dow : 1, // Monday is the first day of the week. 13708 doy : 7 // The week that contains Jan 7th is the first week of the year. 13709 } 13710 }); 13711 13712 //! moment.js locale configuration 13713 13714 // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. 13715 // This is currently too difficult (maybe even impossible) to add. 13716 hooks.defineLocale('tzl', { 13717 months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'), 13718 monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), 13719 weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), 13720 weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), 13721 weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), 13722 longDateFormat : { 13723 LT : 'HH.mm', 13724 LTS : 'HH.mm.ss', 13725 L : 'DD.MM.YYYY', 13726 LL : 'D. MMMM [dallas] YYYY', 13727 LLL : 'D. MMMM [dallas] YYYY HH.mm', 13728 LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' 13729 }, 13730 meridiemParse: /d\'o|d\'a/i, 13731 isPM : function (input) { 13732 return 'd\'o' === input.toLowerCase(); 13733 }, 13734 meridiem : function (hours, minutes, isLower) { 13735 if (hours > 11) { 13736 return isLower ? 'd\'o' : 'D\'O'; 13737 } else { 13738 return isLower ? 'd\'a' : 'D\'A'; 13739 } 13740 }, 13741 calendar : { 13742 sameDay : '[oxhi à ] LT', 13743 nextDay : '[demà à ] LT', 13744 nextWeek : 'dddd [à ] LT', 13745 lastDay : '[ieiri à ] LT', 13746 lastWeek : '[sür el] dddd [lasteu à ] LT', 13747 sameElse : 'L' 13748 }, 13749 relativeTime : { 13750 future : 'osprei %s', 13751 past : 'ja%s', 13752 s : processRelativeTime$7, 13753 ss : processRelativeTime$7, 13754 m : processRelativeTime$7, 13755 mm : processRelativeTime$7, 13756 h : processRelativeTime$7, 13757 hh : processRelativeTime$7, 13758 d : processRelativeTime$7, 13759 dd : processRelativeTime$7, 13760 M : processRelativeTime$7, 13761 MM : processRelativeTime$7, 13762 y : processRelativeTime$7, 13763 yy : processRelativeTime$7 13764 }, 13765 dayOfMonthOrdinalParse: /\d{1,2}\./, 13766 ordinal : '%d.', 13767 week : { 13768 dow : 1, // Monday is the first day of the week. 13769 doy : 4 // The week that contains Jan 4th is the first week of the year. 13770 } 13771 }); 13772 13773 function processRelativeTime$7(number, withoutSuffix, key, isFuture) { 13774 var format = { 13775 's': ['viensas secunds', '\'iensas secunds'], 13776 'ss': [number + ' secunds', '' + number + ' secunds'], 13777 'm': ['\'n mÃut', '\'iens mÃut'], 13778 'mm': [number + ' mÃuts', '' + number + ' mÃuts'], 13779 'h': ['\'n þora', '\'iensa þora'], 13780 'hh': [number + ' þoras', '' + number + ' þoras'], 13781 'd': ['\'n ziua', '\'iensa ziua'], 13782 'dd': [number + ' ziuas', '' + number + ' ziuas'], 13783 'M': ['\'n mes', '\'iens mes'], 13784 'MM': [number + ' mesen', '' + number + ' mesen'], 13785 'y': ['\'n ar', '\'iens ar'], 13786 'yy': [number + ' ars', '' + number + ' ars'] 13787 }; 13788 return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]); 13789 } 13790 13791 //! moment.js locale configuration 13792 13793 hooks.defineLocale('tzm-latn', {
13794 months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), 13795 monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), 13796 weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), 13797 weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), 13798 weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), 13799 longDateFormat : { 13800 LT : 'HH:mm', 13801 LTS : 'HH:mm:ss', 13802 L : 'DD/MM/YYYY', 13803 LL : 'D MMMM YYYY', 13804 LLL : 'D MMMM YYYY HH:mm', 13805 LLLL : 'dddd D MMMM YYYY HH:mm' 13806 }, 13807 calendar : { 13808 sameDay: '[asdkh g] LT', 13809 nextDay: '[aska g] LT', 13810 nextWeek: 'dddd [g] LT', 13811 lastDay: '[assant g] LT', 13812 lastWeek: 'dddd [g] LT', 13813 sameElse: 'L' 13814 }, 13815 relativeTime : { 13816 future : 'dadkh s yan %s', 13817 past : 'yan %s', 13818 s : 'imik', 13819 ss : '%d imik', 13820 m : 'minuá¸', 13821 mm : '%d minuá¸', 13822 h : 'saÉa', 13823 hh : '%d tassaÉin', 13824 d : 'ass', 13825 dd : '%d ossan', 13826 M : 'ayowr', 13827 MM : '%d iyyirn', 13828 y : 'asgas', 13829 yy : '%d isgasn' 13830 }, 13831 week : { 13832 dow : 6, // Saturday is the first day of the week. 13833 doy : 12 // The week that contains Jan 12th is the first week of the year. 13834 } 13835 }); 13836 13837 //! moment.js locale configuration 13838 13839 hooks.defineLocale('tzm', { 13840 months : 'âµâµâµâ´°âµ¢âµ_â´±âµâ´°âµ¢âµ_âµâ´°âµâµ_âµâ´±âµâµâµ_âµâ´°âµ¢âµ¢âµ_âµ¢âµâµâµ¢âµ_âµ¢âµâµâµ¢âµâµ£_âµâµâµâµ_âµâµâµâ´°âµâ´±âµâµ_â´½âµâµâ´±âµ_âµâµâµ¡â´°âµâ´±âµâµ_â´·âµâµâµâ´±âµâµ'.split('_'), 13841 monthsShort : 'âµâµâµâ´°âµ¢âµ_â´±âµâ´°âµ¢âµ_âµâ´°âµâµ_âµâ´±âµâµâµ_âµâ´°âµ¢âµ¢âµ_âµ¢âµâµâµ¢âµ_âµ¢âµâµâµ¢âµâµ£_âµâµâµâµ_âµâµâµâ´°âµâ´±âµâµ_â´½âµâµâ´±âµ_âµâµâµ¡â´°âµâ´±âµâµ_â´·âµâµâµâ´±âµâµ'.split('_'), 13842 weekdays : 'â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ'.split('_'), 13843 weekdaysShort : 'â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ'.split('_'), 13844 weekdaysMin : 'â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ'.split('_'), 13845 longDateFormat : { 13846 LT : 'HH:mm', 13847 LTS: 'HH:mm:ss', 13848 L : 'DD/MM/YYYY', 13849 LL : 'D MMMM YYYY', 13850 LLL : 'D MMMM YYYY HH:mm', 13851 LLLL : 'dddd D MMMM YYYY HH:mm' 13852 }, 13853 calendar : { 13854 sameDay: '[â´°âµâ´·âµ â´´] LT', 13855 nextDay: '[â´°âµâ´½â´° â´´] LT', 13856 nextWeek: 'dddd [â´´] LT', 13857 lastDay: '[â´°âµâ´°âµâµ â´´] LT', 13858 lastWeek: 'dddd [â´´] LT', 13859 sameElse: 'L' 13860 }, 13861 relativeTime : { 13862 future : 'ⴷⴰⴷⵠⵠⵢⴰⵠ%s', 13863 past : 'ⵢⴰⵠ%s', 13864 s : 'âµâµâµâ´½', 13865 ss : '%d âµâµâµâ´½', 13866 m : 'âµâµâµâµâ´º', 13867 mm : '%d âµâµâµâµâ´º', 13868 h : 'âµâ´°âµâ´°', 13869 hh : '%d âµâ´°âµâµâ´°âµâµâµ', 13870 d : 'â´°âµâµ', 13871 dd : '%d oâµâµâ´°âµ', 13872 M : 'â´°âµ¢oâµâµ', 13873 MM : '%d âµâµ¢âµ¢âµâµâµ', 13874 y : 'â´°âµâ´³â´°âµ', 13875 yy : '%d âµâµâ´³â´°âµâµ' 13876 }, 13877 week : { 13878 dow : 6, // Saturday is the first day of the week. 13879 doy : 12 // The week that contains Jan 12th is the first week of the year. 13880 } 13881 }); 13882 13883 //! moment.js language configuration 13884 13885 hooks.defineLocale('ug-cn', { 13886 months: 'ÙØ§ÙÛØ§Ø±_ÙÛÛØ±Ø§Ù_٠ارت_ئاپرÛÙ_٠اÙ_ئÙÙÛÙ_ئÙÙÛÙ_Ø¦Ø§ÛØºÛست_سÛÙØªÛØ¨ÙØ±_ئÛÙØªÛØ¨ÙØ±_ÙÙÙØ§Ø¨Ùر_دÛÙØ§Ø¨Ùر'.split( 13887 '_' 13888 ), 13889 monthsShort: 'ÙØ§ÙÛØ§Ø±_ÙÛÛØ±Ø§Ù_٠ارت_ئاپرÛÙ_٠اÙ_ئÙÙÛÙ_ئÙÙÛÙ_Ø¦Ø§ÛØºÛست_سÛÙØªÛØ¨ÙØ±_ئÛÙØªÛØ¨ÙØ±_ÙÙÙØ§Ø¨Ùر_دÛÙØ§Ø¨Ùر'.split( 13890 '_' 13891 ), 13892 weekdays: 'ÙÛÙØ´ÛÙØ¨Û_Ø¯ÛØ´ÛÙØ¨Û_سÛÙØ´ÛÙØ¨Û_ÚØ§Ø±Ø´ÛÙØ¨Û_Ù¾ÛÙØ´ÛÙØ¨Û_جÛÙ Û_Ø´ÛÙØ¨Û'.split( 13893 '_' 13894 ), 13895 weekdaysShort: 'ÙÛ_دÛ_سÛ_ÚØ§_Ù¾Û_جÛ_Ø´Û'.split('_'), 13896 weekdaysMin: 'ÙÛ_دÛ_سÛ_ÚØ§_Ù¾Û_جÛ_Ø´Û'.split('_'), 13897 longDateFormat: { 13898 LT: 'HH:mm', 13899 LTS: 'HH:mm:ss', 13900 L: 'YYYY-MM-DD', 13901 LL: 'YYYY-ÙÙÙÙM-ئاÙÙÙÚD-ÙÛÙÙ',
vendor: 18,019 bytes, lines 13902-14381
13902 LLL: 'YYYY-ÙÙÙÙM-ئاÙÙÙÚD-ÙÛÙÙØ HH:mm', 13903 LLLL: 'ddddØ YYYY-ÙÙÙÙM-ئاÙÙÙÚD-ÙÛÙÙØ HH:mm' 13904 }, 13905 meridiemParse: /ÙÛØ±ÙÙ ÙÛÚÛ|سÛÚ¾ÛØ±|ÚÛØ´ØªÙÙ Ø¨ÛØ±ÛÙ|ÚÛØ´|ÚÛØ´ØªÙÙ ÙÛÙÙÙ|ÙÛÚ/, 13906 meridiemHour: function (hour, meridiem) { 13907 if (hour === 12) { 13908 hour = 0; 13909 } 13910 if ( 13911 meridiem === 'ÙÛØ±ÙÙ ÙÛÚÛ' || 13912 meridiem === 'سÛÚ¾ÛØ±' || 13913 meridiem === 'ÚÛØ´ØªÙÙ Ø¨ÛØ±ÛÙ' 13914 ) { 13915 return hour; 13916 } else if (meridiem === 'ÚÛØ´ØªÙÙ ÙÛÙÙÙ' || meridiem === 'ÙÛÚ') { 13917 return hour + 12; 13918 } else { 13919 return hour >= 11 ? hour : hour + 12; 13920 } 13921 }, 13922 meridiem: function (hour, minute, isLower) { 13923 var hm = hour * 100 + minute; 13924 if (hm < 600) { 13925 return 'ÙÛØ±ÙÙ ÙÛÚÛ'; 13926 } else if (hm < 900) { 13927 return 'سÛÚ¾ÛØ±'; 13928 } else if (hm < 1130) { 13929 return 'ÚÛØ´ØªÙÙ Ø¨ÛØ±ÛÙ'; 13930 } else if (hm < 1230) { 13931 return 'ÚÛØ´'; 13932 } else if (hm < 1800) { 13933 return 'ÚÛØ´ØªÙÙ ÙÛÙÙÙ'; 13934 } else { 13935 return 'ÙÛÚ'; 13936 } 13937 }, 13938 calendar: { 13939 sameDay: '[بÛÚ¯ÛÙ Ø³Ø§Ø¦ÛØª] LT', 13940 nextDay: '[Ø¦ÛØªÛ Ø³Ø§Ø¦ÛØª] LT', 13941 nextWeek: '[ÙÛÙÛØ±ÙÙ] dddd [Ø³Ø§Ø¦ÛØª] LT', 13942 lastDay: '[تÛÙÛÚ¯ÛÙ] LT', 13943 lastWeek: '[Ø¦Ø§ÙØ¯ÙÙÙÙ] dddd [Ø³Ø§Ø¦ÛØª] LT', 13944 sameElse: 'L' 13945 }, 13946 relativeTime: { 13947 future: '%s ÙÛÙÙÙ', 13948 past: '%s Ø¨ÛØ±ÛÙ', 13949 s: 'ÙÛÚÚÛ Ø³ÛÙÙÙØª', 13950 ss: '%d سÛÙÙÙØª', 13951 m: 'Ø¨ÙØ± Ù ÙÙÛØª', 13952 mm: '%d Ù ÙÙÛØª', 13953 h: 'Ø¨ÙØ± Ø³Ø§Ø¦ÛØª', 13954 hh: '%d Ø³Ø§Ø¦ÛØª', 13955 d: 'Ø¨ÙØ± ÙÛÙ', 13956 dd: '%d ÙÛÙ', 13957 M: 'Ø¨ÙØ± ئاÙ', 13958 MM: '%d ئاÙ', 13959 y: 'Ø¨ÙØ± ÙÙÙ', 13960 yy: '%d ÙÙÙ' 13961 }, 13962 13963 dayOfMonthOrdinalParse: /\d{1,2}(-ÙÛÙÙ|-ئاÙ|-Ú¾ÛپتÛ)/, 13964 ordinal: function (number, period) { 13965 switch (period) { 13966 case 'd': 13967 case 'D': 13968 case 'DDD': 13969 return number + '-ÙÛÙÙ'; 13970 case 'w': 13971 case 'W': 13972 return number + '-Ú¾ÛپتÛ'; 13973 default: 13974 return number; 13975 } 13976 }, 13977 preparse: function (string) { 13978 return string.replace(/Ø/g, ','); 13979 }, 13980 postformat: function (string) { 13981 return string.replace(/,/g, 'Ø'); 13982 }, 13983 week: { 13984 // GB/T 7408-1994ãæ°æ®å åäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ¥æåæ¶é´è¡¨ç¤ºæ³ãä¸ISO 8601:1988çæ 13985 dow: 1, // Monday is the first day of the week. 13986 doy: 7 // The week that contains Jan 1st is the first week of the year. 13987 } 13988 }); 13989 13990 //! moment.js locale configuration 13991 13992 function plural$6(word, num) { 13993 var forms = word.split('_'); 13994 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]); 13995 } 13996 function relativeTimeWithPlural$4(number, withoutSuffix, key) { 13997 var format = { 13998 'ss': withoutSuffix ? 'ÑекÑнда_ÑекÑнди_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑнди_ÑекÑнд', 13999 'mm': withoutSuffix ? 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ð°_Ñ Ð²Ð¸Ð»Ð¸Ð½Ð¸_Ñ Ð²Ð¸Ð»Ð¸Ð½' : 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ñ_Ñ Ð²Ð¸Ð»Ð¸Ð½Ð¸_Ñ Ð²Ð¸Ð»Ð¸Ð½', 14000 'hh': withoutSuffix ? 'година_години_годин' : 'годинÑ_години_годин', 14001 'dd': 'денÑ_днÑ_днÑв', 14002 'MM': 'мÑÑÑÑÑ_мÑÑÑÑÑ_мÑÑÑÑÑв', 14003 'yy': 'ÑÑк_Ñоки_ÑокÑв' 14004 }; 14005 if (key === 'm') { 14006 return withoutSuffix ? 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ð°' : 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ñ'; 14007 } 14008 else if (key === 'h') { 14009 return withoutSuffix ? 'година' : 'годинÑ'; 14010 } 14011 else { 14012 return number + ' ' + plural$6(format[key], +number); 14013 } 14014 } 14015 function weekdaysCaseReplace(m, format) { 14016 var weekdays = { 14017 'nominative': 'недÑлÑ_понедÑлок_вÑвÑоÑок_ÑеÑеда_ÑеÑвеÑ_пâÑÑниÑÑ_ÑÑбоÑа'.split('_'), 14018 'accusative': 'недÑлÑ_понедÑлок_вÑвÑоÑок_ÑеÑедÑ_ÑеÑвеÑ_пâÑÑниÑÑ_ÑÑбоÑÑ'.split('_'), 14019 'genitive': 'недÑлÑ_понедÑлка_вÑвÑоÑка_ÑеÑеди_ÑеÑвеÑга_пâÑÑниÑÑ_ÑÑбоÑи'.split('_') 14020 }; 14021 14022 if (m === true) { 14023 return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1)); 14024 } 14025 if (!m) { 14026 return weekdays['nominative']; 14027 } 14028 14029 var nounCase = (/(\[[ÐвУÑ]\]) ?dddd/).test(format) ? 14030 'accusative' : 14031 ((/\[?(?:минÑлоÑ|наÑÑÑпноÑ)? ?\] ?dddd/).test(format) ? 14032 'genitive' : 14033 'nominative'); 14034 return weekdays[nounCase][m.day()]; 14035 } 14036 function processHoursFunction(str) { 14037 return function () { 14038 return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; 14039 }; 14040 } 14041 14042 hooks.defineLocale('uk', { 14043 months : { 14044 'format': 'ÑÑÑнÑ_лÑÑого_беÑезнÑ_квÑÑнÑ_ÑÑавнÑ_ÑеÑвнÑ_липнÑ_ÑеÑпнÑ_веÑеÑнÑ_жовÑнÑ_лиÑÑопада_гÑÑднÑ'.split('_'), 14045 'standalone': 'ÑÑÑенÑ_лÑÑий_беÑезенÑ_квÑÑенÑ_ÑÑавенÑ_ÑеÑвенÑ_липенÑ_ÑеÑпенÑ_веÑеÑенÑ_жовÑенÑ_лиÑÑопад_гÑÑденÑ'.split('_') 14046 }, 14047 monthsShort : 'ÑÑÑ_лÑÑ_беÑ_квÑÑ_ÑÑав_ÑеÑв_лип_ÑеÑп_веÑ_жовÑ_лиÑÑ_гÑÑд'.split('_'), 14048 weekdays : weekdaysCaseReplace, 14049 weekdaysShort : 'нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 14050 weekdaysMin : 'нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 14051 longDateFormat : { 14052 LT : 'HH:mm', 14053 LTS : 'HH:mm:ss', 14054 L : 'DD.MM.YYYY', 14055 LL : 'D MMMM YYYY Ñ.', 14056 LLL : 'D MMMM YYYY Ñ., HH:mm', 14057 LLLL : 'dddd, D MMMM YYYY Ñ., HH:mm' 14058 }, 14059 calendar : { 14060 sameDay: processHoursFunction('[СÑÐ¾Ð³Ð¾Ð´Ð½Ñ '), 14061 nextDay: processHoursFunction('[ÐавÑÑа '), 14062 lastDay: processHoursFunction('[ÐÑоÑа '), 14063 nextWeek: processHoursFunction('[У] dddd ['), 14064 lastWeek: function () { 14065 switch (this.day()) { 14066 case 0: 14067 case 3: 14068 case 5: 14069 case 6: 14070 return processHoursFunction('[ÐинÑлоÑ] dddd [').call(this); 14071 case 1: 14072 case 2: 14073 case 4: 14074 return processHoursFunction('[ÐинÑлого] dddd [').call(this); 14075 } 14076 }, 14077 sameElse: 'L' 14078 }, 14079 relativeTime : { 14080 future : 'за %s', 14081 past : '%s ÑомÑ', 14082 s : 'декÑлÑка ÑекÑнд', 14083 ss : relativeTimeWithPlural$4, 14084 m : relativeTimeWithPlural$4, 14085 mm : relativeTimeWithPlural$4, 14086 h : 'годинÑ', 14087 hh : relativeTimeWithPlural$4, 14088 d : 'денÑ', 14089 dd : relativeTimeWithPlural$4, 14090 M : 'мÑÑÑÑÑ', 14091 MM : relativeTimeWithPlural$4, 14092 y : 'ÑÑк', 14093 yy : relativeTimeWithPlural$4 14094 }, 14095 // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason 14096 meridiemParse: /ноÑÑ|ÑанкÑ|днÑ|веÑоÑа/, 14097 isPM: function (input) { 14098 return /^(днÑ|веÑоÑа)$/.test(input); 14099 }, 14100 meridiem : function (hour, minute, isLower) { 14101 if (hour < 4) { 14102 return 'ноÑÑ'; 14103 } else if (hour < 12) { 14104 return 'ÑанкÑ'; 14105 } else if (hour < 17) { 14106 return 'днÑ'; 14107 } else { 14108 return 'веÑоÑа'; 14109 } 14110 }, 14111 dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, 14112 ordinal: function (number, period) { 14113 switch (period) { 14114 case 'M': 14115 case 'd': 14116 case 'DDD': 14117 case 'w': 14118 case 'W': 14119 return number + '-й'; 14120 case 'D': 14121 return number + '-го'; 14122 default: 14123 return number; 14124 } 14125 }, 14126 week : { 14127 dow : 1, // Monday is the first day of the week. 14128 doy : 7 // The week that contains Jan 7th is the first week of the year. 14129 } 14130 }); 14131 14132 //! moment.js locale configuration 14133 14134 var months$a = [ 14135 'جÙÙØ±Û', 14136 'ÙØ±ÙرÛ', 14137 '٠ارÚ', 14138 'اپرÛÙ', 14139 '٠ئÛ', 14140 'جÙÙ', 14141 'جÙÙØ§Ø¦Û', 14142 'اگست', 14143 'ست٠بر', 14144 'Ø§Ú©ØªÙØ¨Ø±', 14145 'ÙÙ٠بر', 14146 'دس٠بر' 14147 ]; 14148 var days$2 = [ 14149 'Ø§ØªÙØ§Ø±', 14150 'Ù¾ÛØ±', 14151 'Ù ÙÚ¯Ù', 14152 'بدھ', 14153 'ج٠عرات', 14154 'ج٠عÛ', 14155 'ÛÙØªÛ' 14156 ]; 14157 14158 hooks.defineLocale('ur', { 14159 months : months$a, 14160 monthsShort : months$a, 14161 weekdays : days$2, 14162 weekdaysShort : days$2, 14163 weekdaysMin : days$2, 14164 longDateFormat : { 14165 LT : 'HH:mm', 14166 LTS : 'HH:mm:ss', 14167 L : 'DD/MM/YYYY', 14168 LL : 'D MMMM YYYY', 14169 LLL : 'D MMMM YYYY HH:mm', 14170 LLLL : 'ddddØ D MMMM YYYY HH:mm' 14171 }, 14172 meridiemParse: /صبØ|شا٠/, 14173 isPM : function (input) { 14174 return 'شا٠' === input; 14175 }, 14176 meridiem : function (hour, minute, isLower) { 14177 if (hour < 12) { 14178 return 'صبØ'; 14179 } 14180 return 'شا٠'; 14181 }, 14182 calendar : { 14183 sameDay : '[آج بÙÙØª] LT', 14184 nextDay : '[ک٠بÙÙØª] LT', 14185 nextWeek : 'dddd [بÙÙØª] LT', 14186 lastDay : '[Ú¯Ø°Ø´ØªÛ Ø±ÙØ² بÙÙØª] LT', 14187 lastWeek : '[گذشتÛ] dddd [بÙÙØª] LT', 14188 sameElse : 'L' 14189 }, 14190 relativeTime : { 14191 future : '%s بعد', 14192 past : '%s ÙØ¨Ù', 14193 s : 'ÚÙØ¯ سÛÚ©ÙÚ', 14194 ss : '%d سÛÚ©ÙÚ', 14195 m : 'اÛÚ© Ù ÙÙ¹', 14196 mm : '%d Ù ÙÙ¹', 14197 h : 'اÛÚ© Ú¯Ú¾ÙÙ¹Û', 14198 hh : '%d Ú¯Ú¾ÙÙ¹Û', 14199 d : 'اÛÚ© دÙ', 14200 dd : '%d دÙ', 14201 M : 'اÛÚ© ٠اÛ', 14202 MM : '%d ٠اÛ', 14203 y : 'اÛÚ© ساÙ', 14204 yy : '%d ساÙ' 14205 }, 14206 preparse: function (string) { 14207 return string.replace(/Ø/g, ','); 14208 }, 14209 postformat: function (string) { 14210 return string.replace(/,/g, 'Ø'); 14211 }, 14212 week : { 14213 dow : 1, // Monday is the first day of the week. 14214 doy : 4 // The week that contains Jan 4th is the first week of the year. 14215 } 14216 }); 14217 14218 //! moment.js locale configuration 14219 14220 hooks.defineLocale('uz-latn', { 14221 months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'), 14222 monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), 14223 weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'), 14224 weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), 14225 weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), 14226 longDateFormat : { 14227 LT : 'HH:mm', 14228 LTS : 'HH:mm:ss', 14229 L : 'DD/MM/YYYY', 14230 LL : 'D MMMM YYYY', 14231 LLL : 'D MMMM YYYY HH:mm', 14232 LLLL : 'D MMMM YYYY, dddd HH:mm' 14233 }, 14234 calendar : { 14235 sameDay : '[Bugun soat] LT [da]', 14236 nextDay : '[Ertaga] LT [da]', 14237 nextWeek : 'dddd [kuni soat] LT [da]', 14238 lastDay : '[Kecha soat] LT [da]', 14239 lastWeek : '[O\'tgan] dddd [kuni soat] LT [da]', 14240 sameElse : 'L' 14241 }, 14242 relativeTime : { 14243 future : 'Yaqin %s ichida', 14244 past : 'Bir necha %s oldin', 14245 s : 'soniya', 14246 ss : '%d soniya', 14247 m : 'bir daqiqa', 14248 mm : '%d daqiqa', 14249 h : 'bir soat', 14250 hh : '%d soat', 14251 d : 'bir kun', 14252 dd : '%d kun', 14253 M : 'bir oy', 14254 MM : '%d oy', 14255 y : 'bir yil', 14256 yy : '%d yil' 14257 }, 14258 week : { 14259 dow : 1, // Monday is the first day of the week. 14260 doy : 7 // The week that contains Jan 7th is the first week of the year. 14261 } 14262 }); 14263 14264 //! moment.js locale configuration 14265 14266 hooks.defineLocale('uz', { 14267 months : 'ÑнваÑ_ÑевÑал_маÑÑ_апÑел_май_иÑн_иÑл_авгÑÑÑ_ÑенÑÑбÑ_окÑÑбÑ_ноÑбÑ_декабÑ'.split('_'), 14268 monthsShort : 'Ñнв_Ñев_маÑ_апÑ_май_иÑн_иÑл_авг_Ñен_окÑ_ноÑ_дек'.split('_'), 14269 weekdays : 'ЯкÑанба_ÐÑÑанба_СеÑанба_ЧоÑÑанба_ÐайÑанба_ÐÑма_Шанба'.split('_'), 14270 weekdaysShort : 'ЯкÑ_ÐÑÑ_СеÑ_ЧоÑ_Ðай_ÐÑм_Шан'.split('_'), 14271 weekdaysMin : 'Як_ÐÑ_Се_Чо_Ðа_ÐÑ_Ша'.split('_'), 14272 longDateFormat : { 14273 LT : 'HH:mm', 14274 LTS : 'HH:mm:ss', 14275 L : 'DD/MM/YYYY', 14276 LL : 'D MMMM YYYY', 14277 LLL : 'D MMMM YYYY HH:mm', 14278 LLLL : 'D MMMM YYYY, dddd HH:mm' 14279 }, 14280 calendar : { 14281 sameDay : '[ÐÑгÑн ÑоаÑ] LT [да]', 14282 nextDay : '[ÐÑÑага] LT [да]', 14283 nextWeek : 'dddd [кÑни ÑоаÑ] LT [да]', 14284 lastDay : '[ÐеÑа ÑоаÑ] LT [да]', 14285 lastWeek : '[УÑган] dddd [кÑни ÑоаÑ] LT [да]', 14286 sameElse : 'L' 14287 }, 14288 relativeTime : { 14289 future : 'Якин %s иÑида', 14290 past : 'ÐÐ¸Ñ Ð½ÐµÑа %s олдин', 14291 s : 'ÑÑÑÑаÑ', 14292 ss : '%d ÑÑÑÑаÑ', 14293 m : 'Ð±Ð¸Ñ Ð´Ð°ÐºÐ¸ÐºÐ°', 14294 mm : '%d дакика', 14295 h : 'Ð±Ð¸Ñ ÑоаÑ', 14296 hh : '%d ÑоаÑ', 14297 d : 'Ð±Ð¸Ñ ÐºÑн', 14298 dd : '%d кÑн', 14299 M : 'Ð±Ð¸Ñ Ð¾Ð¹', 14300 MM : '%d ой', 14301 y : 'Ð±Ð¸Ñ Ð¹Ð¸Ð»', 14302 yy : '%d йил' 14303 }, 14304 week : { 14305 dow : 1, // Monday is the first day of the week. 14306 doy : 7 // The week that contains Jan 4th is the first week of the year. 14307 } 14308 }); 14309 14310 //! moment.js locale configuration 14311 14312 hooks.defineLocale('vi', { 14313 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('_'), 14314 monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'), 14315 monthsParseExact : true, 14316 weekdays : 'chá»§ nháºt_thứ hai_thứ ba_thứ tư_thứ nÄm_thứ sáu_thứ bảy'.split('_'), 14317 weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'), 14318 weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'), 14319 weekdaysParseExact : true, 14320 meridiemParse: /sa|ch/i, 14321 isPM : function (input) { 14322 return /^ch$/i.test(input); 14323 }, 14324 meridiem : function (hours, minutes, isLower) { 14325 if (hours < 12) { 14326 return isLower ? 'sa' : 'SA'; 14327 } else { 14328 return isLower ? 'ch' : 'CH'; 14329 } 14330 }, 14331 longDateFormat : { 14332 LT : 'HH:mm', 14333 LTS : 'HH:mm:ss', 14334 L : 'DD/MM/YYYY', 14335 LL : 'D MMMM [nÄm] YYYY', 14336 LLL : 'D MMMM [nÄm] YYYY HH:mm', 14337 LLLL : 'dddd, D MMMM [nÄm] YYYY HH:mm', 14338 l : 'DD/M/YYYY', 14339 ll : 'D MMM YYYY', 14340 lll : 'D MMM YYYY HH:mm', 14341 llll : 'ddd, D MMM YYYY HH:mm' 14342 }, 14343 calendar : { 14344 sameDay: '[Hôm nay lúc] LT', 14345 nextDay: '[Ngà y mai lúc] LT', 14346 nextWeek: 'dddd [tuần tá»i lúc] LT', 14347 lastDay: '[Hôm qua lúc] LT', 14348 lastWeek: 'dddd [tuần rá»i lúc] LT', 14349 sameElse: 'L' 14350 }, 14351 relativeTime : { 14352 future : '%s tá»i', 14353 past : '%s trưá»c', 14354 s : 'và i giây', 14355 ss : '%d giây' , 14356 m : 'má»t phút', 14357 mm : '%d phút', 14358 h : 'má»t giá»', 14359 hh : '%d giá»', 14360 d : 'má»t ngà y', 14361 dd : '%d ngà y', 14362 M : 'má»t tháng', 14363 MM : '%d tháng', 14364 y : 'má»t nÄm', 14365 yy : '%d nÄm' 14366 }, 14367 dayOfMonthOrdinalParse: /\d{1,2}/, 14368 ordinal : function (number) { 14369 return number; 14370 }, 14371 week : { 14372 dow : 1, // Monday is the first day of the week. 14373 doy : 4 // The week that contains Jan 4th is the first week of the year. 14374 } 14375 }); 14376 14377 //! moment.js locale configuration 14378 14379 hooks.defineLocale('x-pseudo', { 14380 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('_'), 14381 monthsShort : 'J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Ãct_~Ãóv_~Déc'.
14381split('_'), 14382 monthsParseExact : true, 14383 weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~FrÃd~áý_S~átúr~dáý'.split('_'), 14384 weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~FrÃ_~Sát'.split('_'), 14385 weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), 14386 weekdaysParseExact : true, 14387 longDateFormat : { 14388 LT : 'HH:mm', 14389 L : 'DD/MM/YYYY', 14390 LL : 'D MMMM YYYY', 14391 LLL : 'D MMMM YYYY HH:mm', 14392 LLLL : 'dddd, D MMMM YYYY HH:mm' 14393 }, 14394 calendar : { 14395 sameDay : '[T~ódá~ý át] LT', 14396 nextDay : '[T~ómó~rró~w át] LT', 14397 nextWeek : 'dddd [át] LT', 14398 lastDay : '[Ã~ést~érdá~ý át] LT', 14399 lastWeek : '[L~ást] dddd [át] LT', 14400 sameElse : 'L' 14401 }, 14402 relativeTime : { 14403 future : 'Ã~ñ %s', 14404 past : '%s á~gó', 14405 s : 'á ~féw ~sécó~ñds', 14406 ss : '%d s~écóñ~ds',
vendor: 12,766 bytes, lines 14407-14765
14407 m : 'á ~mÃñ~úté', 14408 mm : '%d m~Ãñú~tés', 14409 h : 'á~ñ hó~úr', 14410 hh : '%d h~óúrs', 14411 d : 'á ~dáý', 14412 dd : '%d d~áýs', 14413 M : 'á ~móñ~th', 14414 MM : '%d m~óñt~hs', 14415 y : 'á ~ýéár', 14416 yy : '%d ý~éárs' 14417 }, 14418 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, 14419 ordinal : function (number) { 14420 var b = number % 10, 14421 output = (~~(number % 100 / 10) === 1) ? 'th' : 14422 (b === 1) ? 'st' : 14423 (b === 2) ? 'nd' : 14424 (b === 3) ? 'rd' : 'th'; 14425 return number + output; 14426 }, 14427 week : { 14428 dow : 1, // Monday is the first day of the week. 14429 doy : 4 // The week that contains Jan 4th is the first week of the year. 14430 } 14431 }); 14432 14433 //! moment.js locale configuration 14434 14435 hooks.defineLocale('yo', { 14436 months : 'SẹÌrẹÌ_EÌreÌleÌ_ẸrẹÌnaÌ_IÌgbeÌ_EÌbibi_OÌkuÌdu_Agẹmo_OÌguÌn_Owewe_á»ÌwaÌraÌ_BeÌluÌ_á»ÌpẹÌÌ'.split('_'), 14437 monthsShort : 'SẹÌr_EÌrl_Ẹrn_IÌgb_EÌbi_OÌkuÌ_Agẹ_OÌguÌ_Owe_á»ÌwaÌ_BeÌl_á»ÌpẹÌÌ'.split('_'), 14438 weekdays : 'AÌiÌkuÌ_AjeÌ_IÌsẹÌgun_á»já»ÌruÌ_á»já»Ìbá»_ẸtiÌ_AÌbaÌmẹÌta'.split('_'), 14439 weekdaysShort : 'AÌiÌk_AjeÌ_IÌsẹÌ_á»jr_á»jb_ẸtiÌ_AÌbaÌ'.split('_'), 14440 weekdaysMin : 'AÌiÌ_Aj_IÌs_á»r_á»b_Ẹt_AÌb'.split('_'), 14441 longDateFormat : { 14442 LT : 'h:mm A', 14443 LTS : 'h:mm:ss A', 14444 L : 'DD/MM/YYYY', 14445 LL : 'D MMMM YYYY', 14446 LLL : 'D MMMM YYYY h:mm A', 14447 LLLL : 'dddd, D MMMM YYYY h:mm A' 14448 }, 14449 calendar : { 14450 sameDay : '[OÌniÌ ni] LT', 14451 nextDay : '[á»Ìla ni] LT', 14452 nextWeek : 'dddd [á»sáº¹Ì toÌn\'bá»] [ni] LT', 14453 lastDay : '[AÌna ni] LT', 14454 lastWeek : 'dddd [á»sáº¹Ì toÌlá»Ì] [ni] LT', 14455 sameElse : 'L' 14456 }, 14457 relativeTime : { 14458 future : 'niÌ %s', 14459 past : '%s ká»jaÌ', 14460 s : 'iÌsẹjuÌ aayaÌ die', 14461 ss :'aayaÌ %d', 14462 m : 'iÌsẹjuÌ kan', 14463 mm : 'iÌsẹjuÌ %d', 14464 h : 'waÌkati kan', 14465 hh : 'waÌkati %d', 14466 d : 'á»já»Ì kan', 14467 dd : 'á»já»Ì %d', 14468 M : 'osuÌ kan', 14469 MM : 'osuÌ %d', 14470 y : 'á»duÌn kan', 14471 yy : 'á»duÌn %d' 14472 }, 14473 dayOfMonthOrdinalParse : /á»já»Ì\s\d{1,2}/, 14474 ordinal : 'á»já»Ì %d', 14475 week : { 14476 dow : 1, // Monday is the first day of the week. 14477 doy : 4 // The week that contains Jan 4th is the first week of the year. 14478 } 14479 }); 14480 14481 //! moment.js locale configuration 14482 14483 hooks.defineLocale('zh-cn', { 14484 months : '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split('_'), 14485 monthsShort : '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split('_'), 14486 weekdays : 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 14487 weekdaysShort : '卿¥_å¨ä¸_å¨äº_å¨ä¸_å¨å_å¨äº_å¨å '.split('_'), 14488 weekdaysMin : 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 14489 longDateFormat : { 14490 LT : 'HH:mm', 14491 LTS : 'HH:mm:ss', 14492 L : 'YYYY/MM/DD', 14493 LL : 'YYYYå¹´MæDæ¥', 14494 LLL : 'YYYYå¹´MæDæ¥Ahç¹mmå', 14495 LLLL : 'YYYYå¹´MæDæ¥ddddAhç¹mmå', 14496 l : 'YYYY/M/D', 14497 ll : 'YYYYå¹´MæDæ¥', 14498 lll : 'YYYYå¹´MæDæ¥ HH:mm', 14499 llll : 'YYYYå¹´MæDæ¥dddd HH:mm' 14500 }, 14501 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 14502 meridiemHour: function (hour, meridiem) { 14503 if (hour === 12) { 14504 hour = 0; 14505 } 14506 if (meridiem === '忍' || meridiem === 'æ©ä¸' || 14507 meridiem === 'ä¸å') { 14508 return hour; 14509 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 14510 return hour + 12; 14511 } else { 14512 // 'ä¸å' 14513 return hour >= 11 ? hour : hour + 12; 14514 } 14515 }, 14516 meridiem : function (hour, minute, isLower) { 14517 var hm = hour * 100 + minute; 14518 if (hm < 600) { 14519 return '忍'; 14520 } else if (hm < 900) { 14521 return 'æ©ä¸'; 14522 } else if (hm < 1130) { 14523 return 'ä¸å'; 14524 } else if (hm < 1230) { 14525 return 'ä¸å'; 14526 } else if (hm < 1800) { 14527 return 'ä¸å'; 14528 } else { 14529 return 'æä¸'; 14530 } 14531 }, 14532 calendar : { 14533 sameDay : '[ä»å¤©]LT', 14534 nextDay : '[æå¤©]LT', 14535 nextWeek : '[ä¸]ddddLT', 14536 lastDay : '[æ¨å¤©]LT', 14537 lastWeek : '[ä¸]ddddLT', 14538 sameElse : 'L' 14539 }, 14540 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|å¨)/, 14541 ordinal : function (number, period) { 14542 switch (period) { 14543 case 'd': 14544 case 'D': 14545 case 'DDD': 14546 return number + 'æ¥'; 14547 case 'M': 14548 return number + 'æ'; 14549 case 'w': 14550 case 'W': 14551 return number + 'å¨'; 14552 default: 14553 return number; 14554 } 14555 }, 14556 relativeTime : { 14557 future : '%så ', 14558 past : '%så', 14559 s : 'å ç§', 14560 ss : '%d ç§', 14561 m : '1 åé', 14562 mm : '%d åé', 14563 h : '1 å°æ¶', 14564 hh : '%d å°æ¶', 14565 d : '1 天', 14566 dd : '%d 天', 14567 M : '1 个æ', 14568 MM : '%d 个æ', 14569 y : '1 å¹´', 14570 yy : '%d å¹´' 14571 }, 14572 week : { 14573 // GB/T 7408-1994ãæ°æ®å åäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ¥æåæ¶é´è¡¨ç¤ºæ³ãä¸ISO 8601:1988çæ 14574 dow : 1, // Monday is the first day of the week. 14575 doy : 4 // The week that contains Jan 4th is the first week of the year. 14576 } 14577 }); 14578 14579 //! moment.js locale configuration 14580 14581 hooks.defineLocale('zh-hk', { 14582 months : '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split('_'), 14583 monthsShort : '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split('_'), 14584 weekdays : 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 14585 weekdaysShort : '鱿¥_é±ä¸_é±äº_é±ä¸_é±å_é±äº_é±å '.split('_'), 14586 weekdaysMin : 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 14587 longDateFormat : { 14588 LT : 'HH:mm', 14589 LTS : 'HH:mm:ss', 14590 L : 'YYYY/MM/DD', 14591 LL : 'YYYYå¹´MæDæ¥', 14592 LLL : 'YYYYå¹´MæDæ¥ HH:mm', 14593 LLLL : 'YYYYå¹´MæDæ¥dddd HH:mm', 14594 l : 'YYYY/M/D', 14595 ll : 'YYYYå¹´MæDæ¥', 14596 lll : 'YYYYå¹´MæDæ¥ HH:mm', 14597 llll : 'YYYYå¹´MæDæ¥dddd HH:mm' 14598 }, 14599 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 14600 meridiemHour : function (hour, meridiem) { 14601 if (hour === 12) { 14602 hour = 0; 14603 } 14604 if (meridiem === '忍' || meridiem === 'æ©ä¸' || meridiem === 'ä¸å') { 14605 return hour; 14606 } else if (meridiem === 'ä¸å') { 14607 return hour >= 11 ? hour : hour + 12; 14608 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 14609 return hour + 12; 14610 } 14611 }, 14612 meridiem : function (hour, minute, isLower) { 14613 var hm = hour * 100 + minute; 14614 if (hm < 600) { 14615 return '忍'; 14616 } else if (hm < 900) { 14617 return 'æ©ä¸'; 14618 } else if (hm < 1130) { 14619 return 'ä¸å'; 14620 } else if (hm < 1230) { 14621 return 'ä¸å'; 14622 } else if (hm < 1800) { 14623 return 'ä¸å'; 14624 } else { 14625 return 'æä¸'; 14626 } 14627 }, 14628 calendar : { 14629 sameDay : '[ä»å¤©]LT', 14630 nextDay : '[æå¤©]LT', 14631 nextWeek : '[ä¸]ddddLT', 14632 lastDay : '[æ¨å¤©]LT', 14633 lastWeek : '[ä¸]ddddLT', 14634 sameElse : 'L' 14635 }, 14636 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|é±)/, 14637 ordinal : function (number, period) { 14638 switch (period) { 14639 case 'd' : 14640 case 'D' : 14641 case 'DDD' : 14642 return number + 'æ¥'; 14643 case 'M' : 14644 return number + 'æ'; 14645 case 'w' : 14646 case 'W' : 14647 return number + 'é±'; 14648 default : 14649 return number; 14650 } 14651 }, 14652 relativeTime : { 14653 future : '%så §', 14654 past : '%så', 14655 s : 'å¹¾ç§', 14656 ss : '%d ç§', 14657 m : '1 åé', 14658 mm : '%d åé', 14659 h : '1 å°æ', 14660 hh : '%d å°æ', 14661 d : '1 天', 14662 dd : '%d 天', 14663 M : '1 åæ', 14664 MM : '%d åæ', 14665 y : '1 å¹´', 14666 yy : '%d å¹´' 14667 } 14668 }); 14669 14670 //! moment.js locale configuration 14671 14672 hooks.defineLocale('zh-tw', { 14673 months : '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split('_'), 14674 monthsShort : '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split('_'), 14675 weekdays : 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 14676 weekdaysShort : '鱿¥_é±ä¸_é±äº_é±ä¸_é±å_é±äº_é±å '.split('_'), 14677 weekdaysMin : 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 14678 longDateFormat : { 14679 LT : 'HH:mm', 14680 LTS : 'HH:mm:ss', 14681 L : 'YYYY/MM/DD', 14682 LL : 'YYYYå¹´MæDæ¥', 14683 LLL : 'YYYYå¹´MæDæ¥ HH:mm', 14684 LLLL : 'YYYYå¹´MæDæ¥dddd HH:mm', 14685 l : 'YYYY/M/D', 14686 ll : 'YYYYå¹´MæDæ¥', 14687 lll : 'YYYYå¹´MæDæ¥ HH:mm', 14688 llll : 'YYYYå¹´MæDæ¥dddd HH:mm' 14689 }, 14690 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 14691 meridiemHour : function (hour, meridiem) { 14692 if (hour === 12) { 14693 hour = 0; 14694 } 14695 if (meridiem === '忍' || meridiem === 'æ©ä¸' || meridiem === 'ä¸å') { 14696 return hour; 14697 } else if (meridiem === 'ä¸å') { 14698 return hour >= 11 ? hour : hour + 12; 14699 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 14700 return hour + 12; 14701 } 14702 }, 14703 meridiem : function (hour, minute, isLower) { 14704 var hm = hour * 100 + minute; 14705 if (hm < 600) { 14706 return '忍'; 14707 } else if (hm < 900) { 14708 return 'æ©ä¸'; 14709 } else if (hm < 1130) { 14710 return 'ä¸å'; 14711 } else if (hm < 1230) { 14712 return 'ä¸å'; 14713 } else if (hm < 1800) { 14714 return 'ä¸å'; 14715 } else { 14716 return 'æä¸'; 14717 } 14718 }, 14719 calendar : { 14720 sameDay : '[ä»å¤©] LT', 14721 nextDay : '[æå¤©] LT', 14722 nextWeek : '[ä¸]dddd LT', 14723 lastDay : '[æ¨å¤©] LT', 14724 lastWeek : '[ä¸]dddd LT', 14725 sameElse : 'L' 14726 }, 14727 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|é±)/, 14728 ordinal : function (number, period) { 14729 switch (period) { 14730 case 'd' : 14731 case 'D' : 14732 case 'DDD' : 14733 return number + 'æ¥'; 14734 case 'M' : 14735 return number + 'æ'; 14736 case 'w' : 14737 case 'W' : 14738 return number + 'é±'; 14739 default : 14740 return number; 14741 } 14742 }, 14743 relativeTime : { 14744 future : '%så §', 14745 past : '%så', 14746 s : 'å¹¾ç§', 14747 ss : '%d ç§', 14748 m : '1 åé', 14749 mm : '%d åé', 14750 h : '1 å°æ', 14751 hh : '%d å°æ', 14752 d : '1 天', 14753 dd : '%d 天', 14754 M : '1 åæ', 14755 MM : '%d åæ', 14756 y : '1 å¹´', 14757 yy : '%d å¹´' 14758 } 14759 }); 14760 14761 hooks.locale('en'); 14762 14763 return hooks; 14764 14765})));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.