Sin descripción

index.js.map 157KB

1
  1. {"version":3,"file":"index.js","sources":["../node_modules/intl-messageformat/lib/utils.js","../node_modules/intl-messageformat/lib/es5.js","../node_modules/intl-messageformat/lib/compiler.js","../node_modules/intl-messageformat/node_modules/intl-messageformat-parser/lib/parser.js","../node_modules/intl-messageformat/node_modules/intl-messageformat-parser/index.js","../node_modules/intl-messageformat/lib/core.js","../node_modules/intl-messageformat/lib/en.js","../node_modules/intl-messageformat/lib/main.js","../node_modules/intl-messageformat/index.js","../node_modules/lodash.get/index.js","../node_modules/kiwi-intl/built/src/Observer.js","../node_modules/kiwi-intl/built/src/index.js","../.kiwi/en_US/priceOptions.ts","../.kiwi/en_US/payplatformoption.ts","../.kiwi/en_US/index.ts","../.kiwi/zh_CN/priceOptions.ts","../.kiwi/zh_CN/payplatformoption.ts","../.kiwi/zh_CN/index.ts","../src/components/Common/test.tsx","../src/lib-build.js"],"sourcesContent":["/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nexports.extend = extend;\nvar hop = Object.prototype.hasOwnProperty;\n\nfunction extend(obj) {\n var sources = Array.prototype.slice.call(arguments, 1),\n i, len, source, key;\n\n for (i = 0, len = sources.length; i < len; i += 1) {\n source = sources[i];\n if (!source) { continue; }\n\n for (key in source) {\n if (hop.call(source, key)) {\n obj[key] = source[key];\n }\n }\n }\n\n return obj;\n}\nexports.hop = hop;\n\n//# sourceMappingURL=utils.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nvar src$utils$$ = require(\"./utils\");\n\n// Purposely using the same implementation as the Intl.js `Intl` polyfill.\n// Copyright 2013 Andy Earnshaw, MIT License\n\nvar realDefineProp = (function () {\n try { return !!Object.defineProperty({}, 'a', {}); }\n catch (e) { return false; }\n})();\n\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\nvar defineProperty = realDefineProp ? Object.defineProperty :\n function (obj, name, desc) {\n\n if ('get' in desc && obj.__defineGetter__) {\n obj.__defineGetter__(name, desc.get);\n } else if (!src$utils$$.hop.call(obj, name) || 'value' in desc) {\n obj[name] = desc.value;\n }\n};\n\nvar objCreate = Object.create || function (proto, props) {\n var obj, k;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (k in props) {\n if (src$utils$$.hop.call(props, k)) {\n defineProperty(obj, k, props[k]);\n }\n }\n\n return obj;\n};\n\nexports.defineProperty = defineProperty, exports.objCreate = objCreate;\n\n//# sourceMappingURL=es5.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nexports[\"default\"] = Compiler;\n\nfunction Compiler(locales, formats, pluralFn) {\n this.locales = locales;\n this.formats = formats;\n this.pluralFn = pluralFn;\n}\n\nCompiler.prototype.compile = function (ast) {\n this.pluralStack = [];\n this.currentPlural = null;\n this.pluralNumberFormat = null;\n\n return this.compileMessage(ast);\n};\n\nCompiler.prototype.compileMessage = function (ast) {\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new Error('Message AST is not of type: \"messageFormatPattern\"');\n }\n\n var elements = ast.elements,\n pattern = [];\n\n var i, len, element;\n\n for (i = 0, len = elements.length; i < len; i += 1) {\n element = elements[i];\n\n switch (element.type) {\n case 'messageTextElement':\n pattern.push(this.compileMessageText(element));\n break;\n\n case 'argumentElement':\n pattern.push(this.compileArgument(element));\n break;\n\n default:\n throw new Error('Message element does not have a valid type');\n }\n }\n\n return pattern;\n};\n\nCompiler.prototype.compileMessageText = function (element) {\n // When this `element` is part of plural sub-pattern and its value contains\n // an unescaped '#', use a `PluralOffsetString` helper to properly output\n // the number with the correct offset in the string.\n if (this.currentPlural && /(^|[^\\\\])#/g.test(element.value)) {\n // Create a cache a NumberFormat instance that can be reused for any\n // PluralOffsetString instance in this message.\n if (!this.pluralNumberFormat) {\n this.pluralNumberFormat = new Intl.NumberFormat(this.locales);\n }\n\n return new PluralOffsetString(\n this.currentPlural.id,\n this.currentPlural.format.offset,\n this.pluralNumberFormat,\n element.value);\n }\n\n // Unescape the escaped '#'s in the message text.\n return element.value.replace(/\\\\#/g, '#');\n};\n\nCompiler.prototype.compileArgument = function (element) {\n var format = element.format;\n\n if (!format) {\n return new StringFormat(element.id);\n }\n\n var formats = this.formats,\n locales = this.locales,\n pluralFn = this.pluralFn,\n options;\n\n switch (format.type) {\n case 'numberFormat':\n options = formats.number[format.style];\n return {\n id : element.id,\n format: new Intl.NumberFormat(locales, options).format\n };\n\n case 'dateFormat':\n options = formats.date[format.style];\n return {\n id : element.id,\n format: new Intl.DateTimeFormat(locales, options).format\n };\n\n case 'timeFormat':\n options = formats.time[format.style];\n return {\n id : element.id,\n format: new Intl.DateTimeFormat(locales, options).format\n };\n\n case 'pluralFormat':\n options = this.compileOptions(element);\n return new PluralFormat(\n element.id, format.ordinal, format.offset, options, pluralFn\n );\n\n case 'selectFormat':\n options = this.compileOptions(element);\n return new SelectFormat(element.id, options);\n\n default:\n throw new Error('Message element does not have a valid format type');\n }\n};\n\nCompiler.prototype.compileOptions = function (element) {\n var format = element.format,\n options = format.options,\n optionsHash = {};\n\n // Save the current plural element, if any, then set it to a new value when\n // compiling the options sub-patterns. This conforms the spec's algorithm\n // for handling `\"#\"` syntax in message text.\n this.pluralStack.push(this.currentPlural);\n this.currentPlural = format.type === 'pluralFormat' ? element : null;\n\n var i, len, option;\n\n for (i = 0, len = options.length; i < len; i += 1) {\n option = options[i];\n\n // Compile the sub-pattern and save it under the options's selector.\n optionsHash[option.selector] = this.compileMessage(option.value);\n }\n\n // Pop the plural stack to put back the original current plural value.\n this.currentPlural = this.pluralStack.pop();\n\n return optionsHash;\n};\n\n// -- Compiler Helper Classes --------------------------------------------------\n\nfunction StringFormat(id) {\n this.id = id;\n}\n\nStringFormat.prototype.format = function (value) {\n if (!value && typeof value !== 'number') {\n return '';\n }\n\n return typeof value === 'string' ? value : String(value);\n};\n\nfunction PluralFormat(id, useOrdinal, offset, options, pluralFn) {\n this.id = id;\n this.useOrdinal = useOrdinal;\n this.offset = offset;\n this.options = options;\n this.pluralFn = pluralFn;\n}\n\nPluralFormat.prototype.getOption = function (value) {\n var options = this.options;\n\n var option = options['=' + value] ||\n options[this.pluralFn(value - this.offset, this.useOrdinal)];\n\n return option || options.other;\n};\n\nfunction PluralOffsetString(id, offset, numberFormat, string) {\n this.id = id;\n this.offset = offset;\n this.numberFormat = numberFormat;\n this.string = string;\n}\n\nPluralOffsetString.prototype.format = function (value) {\n var number = this.numberFormat.format(value - this.offset);\n\n return this.string\n .replace(/(^|[^\\\\])#/g, '$1' + number)\n .replace(/\\\\#/g, '#');\n};\n\nfunction SelectFormat(id, options) {\n this.id = id;\n this.options = options;\n}\n\nSelectFormat.prototype.getOption = function (value) {\n var options = this.options;\n return options[value] || options.other;\n};\n\n//# sourceMappingURL=compiler.js.map","\"use strict\";\n\nexports[\"default\"] = (function() {\n \"use strict\";\n\n /*\n * Generated by PEG.js 0.9.0.\n *\n * http://pegjs.org/\n */\n\n function peg$subclass(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n }\n\n function peg$SyntaxError(message, expected, found, location) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, peg$SyntaxError);\n }\n }\n\n peg$subclass(peg$SyntaxError, Error);\n\n function peg$parse(input) {\n var options = arguments.length > 1 ? arguments[1] : {},\n parser = this,\n\n peg$FAILED = {},\n\n peg$startRuleFunctions = { start: peg$parsestart },\n peg$startRuleFunction = peg$parsestart,\n\n peg$c0 = function(elements) {\n return {\n type : 'messageFormatPattern',\n elements: elements,\n location: location()\n };\n },\n peg$c1 = function(text) {\n var string = '',\n i, j, outerLen, inner, innerLen;\n\n for (i = 0, outerLen = text.length; i < outerLen; i += 1) {\n inner = text[i];\n\n for (j = 0, innerLen = inner.length; j < innerLen; j += 1) {\n string += inner[j];\n }\n }\n\n return string;\n },\n peg$c2 = function(messageText) {\n return {\n type : 'messageTextElement',\n value: messageText,\n location: location()\n };\n },\n peg$c3 = /^[^ \\t\\n\\r,.+={}#]/,\n peg$c4 = { type: \"class\", value: \"[^ \\\\t\\\\n\\\\r,.+={}#]\", description: \"[^ \\\\t\\\\n\\\\r,.+={}#]\" },\n peg$c5 = \"{\",\n peg$c6 = { type: \"literal\", value: \"{\", description: \"\\\"{\\\"\" },\n peg$c7 = \",\",\n peg$c8 = { type: \"literal\", value: \",\", description: \"\\\",\\\"\" },\n peg$c9 = \"}\",\n peg$c10 = { type: \"literal\", value: \"}\", description: \"\\\"}\\\"\" },\n peg$c11 = function(id, format) {\n return {\n type : 'argumentElement',\n id : id,\n format: format && format[2],\n location: location()\n };\n },\n peg$c12 = \"number\",\n peg$c13 = { type: \"literal\", value: \"number\", description: \"\\\"number\\\"\" },\n peg$c14 = \"date\",\n peg$c15 = { type: \"literal\", value: \"date\", description: \"\\\"date\\\"\" },\n peg$c16 = \"time\",\n peg$c17 = { type: \"literal\", value: \"time\", description: \"\\\"time\\\"\" },\n peg$c18 = function(type, style) {\n return {\n type : type + 'Format',\n style: style && style[2],\n location: location()\n };\n },\n peg$c19 = \"plural\",\n peg$c20 = { type: \"literal\", value: \"plural\", description: \"\\\"plural\\\"\" },\n peg$c21 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: false,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n };\n },\n peg$c22 = \"selectordinal\",\n peg$c23 = { type: \"literal\", value: \"selectordinal\", description: \"\\\"selectordinal\\\"\" },\n peg$c24 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: true,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n }\n },\n peg$c25 = \"select\",\n peg$c26 = { type: \"literal\", value: \"select\", description: \"\\\"select\\\"\" },\n peg$c27 = function(options) {\n return {\n type : 'selectFormat',\n options: options,\n location: location()\n };\n },\n peg$c28 = \"=\",\n peg$c29 = { type: \"literal\", value: \"=\", description: \"\\\"=\\\"\" },\n peg$c30 = function(selector, pattern) {\n return {\n type : 'optionalFormatPattern',\n selector: selector,\n value : pattern,\n location: location()\n };\n },\n peg$c31 = \"offset:\",\n peg$c32 = { type: \"literal\", value: \"offset:\", description: \"\\\"offset:\\\"\" },\n peg$c33 = function(number) {\n return number;\n },\n peg$c34 = function(offset, options) {\n return {\n type : 'pluralFormat',\n offset : offset,\n options: options,\n location: location()\n };\n },\n peg$c35 = { type: \"other\", description: \"whitespace\" },\n peg$c36 = /^[ \\t\\n\\r]/,\n peg$c37 = { type: \"class\", value: \"[ \\\\t\\\\n\\\\r]\", description: \"[ \\\\t\\\\n\\\\r]\" },\n peg$c38 = { type: \"other\", description: \"optionalWhitespace\" },\n peg$c39 = /^[0-9]/,\n peg$c40 = { type: \"class\", value: \"[0-9]\", description: \"[0-9]\" },\n peg$c41 = /^[0-9a-f]/i,\n peg$c42 = { type: \"class\", value: \"[0-9a-f]i\", description: \"[0-9a-f]i\" },\n peg$c43 = \"0\",\n peg$c44 = { type: \"literal\", value: \"0\", description: \"\\\"0\\\"\" },\n peg$c45 = /^[1-9]/,\n peg$c46 = { type: \"class\", value: \"[1-9]\", description: \"[1-9]\" },\n peg$c47 = function(digits) {\n return parseInt(digits, 10);\n },\n peg$c48 = /^[^{}\\\\\\0-\\x1F \\t\\n\\r]/,\n peg$c49 = { type: \"class\", value: \"[^{}\\\\\\\\\\\\0-\\\\x1F\\\\x7f \\\\t\\\\n\\\\r]\", description: \"[^{}\\\\\\\\\\\\0-\\\\x1F\\\\x7f \\\\t\\\\n\\\\r]\" },\n peg$c50 = \"\\\\\\\\\",\n peg$c51 = { type: \"literal\", value: \"\\\\\\\\\", description: \"\\\"\\\\\\\\\\\\\\\\\\\"\" },\n peg$c52 = function() { return '\\\\'; },\n peg$c53 = \"\\\\#\",\n peg$c54 = { type: \"literal\", value: \"\\\\#\", description: \"\\\"\\\\\\\\#\\\"\" },\n peg$c55 = function() { return '\\\\#'; },\n peg$c56 = \"\\\\{\",\n peg$c57 = { type: \"literal\", value: \"\\\\{\", description: \"\\\"\\\\\\\\{\\\"\" },\n peg$c58 = function() { return '\\u007B'; },\n peg$c59 = \"\\\\}\",\n peg$c60 = { type: \"literal\", value: \"\\\\}\", description: \"\\\"\\\\\\\\}\\\"\" },\n peg$c61 = function() { return '\\u007D'; },\n peg$c62 = \"\\\\u\",\n peg$c63 = { type: \"literal\", value: \"\\\\u\", description: \"\\\"\\\\\\\\u\\\"\" },\n peg$c64 = function(digits) {\n return String.fromCharCode(parseInt(digits, 16));\n },\n peg$c65 = function(chars) { return chars.join(''); },\n\n peg$currPos = 0,\n peg$savedPos = 0,\n peg$posDetailsCache = [{ line: 1, column: 1, seenCR: false }],\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description) {\n throw peg$buildException(\n null,\n [{ type: \"other\", description: description }],\n input.substring(peg$savedPos, peg$currPos),\n peg$computeLocation(peg$savedPos, peg$currPos)\n );\n }\n\n function error(message) {\n throw peg$buildException(\n message,\n null,\n input.substring(peg$savedPos, peg$currPos),\n peg$computeLocation(peg$savedPos, peg$currPos)\n );\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos],\n p, ch;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column,\n seenCR: details.seenCR\n };\n\n while (p < pos) {\n ch = input.charAt(p);\n if (ch === \"\\n\") {\n if (!details.seenCR) { details.line++; }\n details.column = 1;\n details.seenCR = false;\n } else if (ch === \"\\r\" || ch === \"\\u2028\" || ch === \"\\u2029\") {\n details.line++;\n details.column = 1;\n details.seenCR = true;\n } else {\n details.column++;\n details.seenCR = false;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos),\n endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildException(message, expected, found, location) {\n function cleanupExpected(expected) {\n var i = 1;\n\n expected.sort(function(a, b) {\n if (a.description < b.description) {\n return -1;\n } else if (a.description > b.description) {\n return 1;\n } else {\n return 0;\n }\n });\n\n while (i < expected.length) {\n if (expected[i - 1] === expected[i]) {\n expected.splice(i, 1);\n } else {\n i++;\n }\n }\n }\n\n function buildMessage(expected, found) {\n function stringEscape(s) {\n function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }\n\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\x08/g, '\\\\b')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\f/g, '\\\\f')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x07\\x0B\\x0E\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x80-\\xFF]/g, function(ch) { return '\\\\x' + hex(ch); })\n .replace(/[\\u0100-\\u0FFF]/g, function(ch) { return '\\\\u0' + hex(ch); })\n .replace(/[\\u1000-\\uFFFF]/g, function(ch) { return '\\\\u' + hex(ch); });\n }\n\n var expectedDescs = new Array(expected.length),\n expectedDesc, foundDesc, i;\n\n for (i = 0; i < expected.length; i++) {\n expectedDescs[i] = expected[i].description;\n }\n\n expectedDesc = expected.length > 1\n ? expectedDescs.slice(0, -1).join(\", \")\n + \" or \"\n + expectedDescs[expected.length - 1]\n : expectedDescs[0];\n\n foundDesc = found ? \"\\\"\" + stringEscape(found) + \"\\\"\" : \"end of input\";\n\n return \"Expected \" + expectedDesc + \" but \" + foundDesc + \" found.\";\n }\n\n if (expected !== null) {\n cleanupExpected(expected);\n }\n\n return new peg$SyntaxError(\n message !== null ? message : buildMessage(expected, found),\n expected,\n found,\n location\n );\n }\n\n function peg$parsestart() {\n var s0;\n\n s0 = peg$parsemessageFormatPattern();\n\n return s0;\n }\n\n function peg$parsemessageFormatPattern() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsemessageFormatElement();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsemessageFormatElement();\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsemessageFormatElement() {\n var s0;\n\n s0 = peg$parsemessageTextElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n }\n\n return s0;\n }\n\n function peg$parsemessageText() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsews();\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n }\n\n return s0;\n }\n\n function peg$parsemessageTextElement() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c2(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseargument() {\n var s0, s1, s2;\n\n s0 = peg$parsenumber();\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = [];\n if (peg$c3.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (peg$c3.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n }\n\n return s0;\n }\n\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c5;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c6); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargument();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s6 = peg$c7;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseelementFormat();\n if (s8 !== peg$FAILED) {\n s6 = [s6, s7, s8];\n s5 = s6;\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c9;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseelementFormat() {\n var s0;\n\n s0 = peg$parsesimpleFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectOrdinalFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectFormat();\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsesimpleFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c13); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c14) {\n s1 = peg$c14;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c15); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c16) {\n s1 = peg$c16;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c17); }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s4 = peg$c7;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsechars();\n if (s6 !== peg$FAILED) {\n s4 = [s4, s5, s6];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c19) {\n s1 = peg$c19;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c20); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectOrdinalFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 13) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 13;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c23); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c25) {\n s1 = peg$c25;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c26); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseoptionalFormatPattern();\n if (s6 !== peg$FAILED) {\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseoptionalFormatPattern();\n }\n } else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselector() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c28;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c29); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parsechars();\n }\n\n return s0;\n }\n\n function peg$parseoptionalFormatPattern() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseselector();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c5;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c6); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessageFormatPattern();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s8 = peg$c9;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s8 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c30(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseoffset() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c31) {\n s1 = peg$c31;\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c32); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralStyle() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseoffset();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parseoptionalFormatPattern();\n if (s4 !== peg$FAILED) {\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parseoptionalFormatPattern();\n }\n } else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c34(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsews() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = [];\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsews();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsews();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c38); }\n }\n\n return s0;\n }\n\n function peg$parsedigit() {\n var s0;\n\n if (peg$c39.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c40); }\n }\n\n return s0;\n }\n\n function peg$parsehexDigit() {\n var s0;\n\n if (peg$c41.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n\n return s0;\n }\n\n function peg$parsenumber() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c43;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c44); }\n }\n if (s1 === peg$FAILED) {\n s1 = peg$currPos;\n s2 = peg$currPos;\n if (peg$c45.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c46); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsedigit();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsedigit();\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n } else {\n s1 = s2;\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c47(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsechar() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n if (peg$c48.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c49); }\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c50) {\n s1 = peg$c50;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c51); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c53) {\n s1 = peg$c53;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c54); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c56) {\n s1 = peg$c56;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c57); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c59) {\n s1 = peg$c59;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c60); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c62) {\n s1 = peg$c62;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c63); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n s4 = peg$parsehexDigit();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsehexDigit();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsehexDigit();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsehexDigit();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = input.substring(s2, peg$currPos);\n } else {\n s2 = s3;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c64(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsechars() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsechar();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsechar();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c65(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail({ type: \"end\", description: \"end of input\" });\n }\n\n throw peg$buildException(\n null,\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n }\n\n return {\n SyntaxError: peg$SyntaxError,\n parse: peg$parse\n };\n})();\n\n//# sourceMappingURL=parser.js.map","'use strict';\n\nexports = module.exports = require('./lib/parser')['default'];\nexports['default'] = exports;\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nvar src$utils$$ = require(\"./utils\"), src$es5$$ = require(\"./es5\"), src$compiler$$ = require(\"./compiler\"), intl$messageformat$parser$$ = require(\"intl-messageformat-parser\");\nexports[\"default\"] = MessageFormat;\n\n// -- MessageFormat --------------------------------------------------------\n\nfunction MessageFormat(message, locales, formats) {\n // Parse string messages into an AST.\n var ast = typeof message === 'string' ?\n MessageFormat.__parse(message) : message;\n\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n formats = this._mergeFormats(MessageFormat.formats, formats);\n\n // Defined first because it's used to build the format pattern.\n src$es5$$.defineProperty(this, '_locale', {value: this._resolveLocale(locales)});\n\n // Compile the `ast` to a pattern that is highly optimized for repeated\n // `format()` invocations. **Note:** This passes the `locales` set provided\n // to the constructor instead of just the resolved locale.\n var pluralFn = this._findPluralRuleFunction(this._locale);\n var pattern = this._compilePattern(ast, locales, formats, pluralFn);\n\n // \"Bind\" `format()` method to `this` so it can be passed by reference like\n // the other `Intl` APIs.\n var messageFormat = this;\n this.format = function (values) {\n try {\n return messageFormat._format(pattern, values);\n } catch (e) {\n if (e.variableId) {\n throw new Error(\n 'The intl string context variable \\'' + e.variableId + '\\'' +\n ' was not provided to the string \\'' + message + '\\''\n );\n } else {\n throw e;\n }\n }\n };\n}\n\n// Default format options used as the prototype of the `formats` provided to the\n// constructor. These are used when constructing the internal Intl.NumberFormat\n// and Intl.DateTimeFormat instances.\nsrc$es5$$.defineProperty(MessageFormat, 'formats', {\n enumerable: true,\n\n value: {\n number: {\n 'currency': {\n style: 'currency'\n },\n\n 'percent': {\n style: 'percent'\n }\n },\n\n date: {\n 'short': {\n month: 'numeric',\n day : 'numeric',\n year : '2-digit'\n },\n\n 'medium': {\n month: 'short',\n day : 'numeric',\n year : 'numeric'\n },\n\n 'long': {\n month: 'long',\n day : 'numeric',\n year : 'numeric'\n },\n\n 'full': {\n weekday: 'long',\n month : 'long',\n day : 'numeric',\n year : 'numeric'\n }\n },\n\n time: {\n 'short': {\n hour : 'numeric',\n minute: 'numeric'\n },\n\n 'medium': {\n hour : 'numeric',\n minute: 'numeric',\n second: 'numeric'\n },\n\n 'long': {\n hour : 'numeric',\n minute : 'numeric',\n second : 'numeric',\n timeZoneName: 'short'\n },\n\n 'full': {\n hour : 'numeric',\n minute : 'numeric',\n second : 'numeric',\n timeZoneName: 'short'\n }\n }\n }\n});\n\n// Define internal private properties for dealing with locale data.\nsrc$es5$$.defineProperty(MessageFormat, '__localeData__', {value: src$es5$$.objCreate(null)});\nsrc$es5$$.defineProperty(MessageFormat, '__addLocaleData', {value: function (data) {\n if (!(data && data.locale)) {\n throw new Error(\n 'Locale data provided to IntlMessageFormat is missing a ' +\n '`locale` property'\n );\n }\n\n MessageFormat.__localeData__[data.locale.toLowerCase()] = data;\n}});\n\n// Defines `__parse()` static method as an exposed private.\nsrc$es5$$.defineProperty(MessageFormat, '__parse', {value: intl$messageformat$parser$$[\"default\"].parse});\n\n// Define public `defaultLocale` property which defaults to English, but can be\n// set by the developer.\nsrc$es5$$.defineProperty(MessageFormat, 'defaultLocale', {\n enumerable: true,\n writable : true,\n value : undefined\n});\n\nMessageFormat.prototype.resolvedOptions = function () {\n // TODO: Provide anything else?\n return {\n locale: this._locale\n };\n};\n\nMessageFormat.prototype._compilePattern = function (ast, locales, formats, pluralFn) {\n var compiler = new src$compiler$$[\"default\"](locales, formats, pluralFn);\n return compiler.compile(ast);\n};\n\nMessageFormat.prototype._findPluralRuleFunction = function (locale) {\n var localeData = MessageFormat.__localeData__;\n var data = localeData[locale.toLowerCase()];\n\n // The locale data is de-duplicated, so we have to traverse the locale's\n // hierarchy until we find a `pluralRuleFunction` to return.\n while (data) {\n if (data.pluralRuleFunction) {\n return data.pluralRuleFunction;\n }\n\n data = data.parentLocale && localeData[data.parentLocale.toLowerCase()];\n }\n\n throw new Error(\n 'Locale data added to IntlMessageFormat is missing a ' +\n '`pluralRuleFunction` for :' + locale\n );\n};\n\nMessageFormat.prototype._format = function (pattern, values) {\n var result = '',\n i, len, part, id, value, err;\n\n for (i = 0, len = pattern.length; i < len; i += 1) {\n part = pattern[i];\n\n // Exist early for string parts.\n if (typeof part === 'string') {\n result += part;\n continue;\n }\n\n id = part.id;\n\n // Enforce that all required values are provided by the caller.\n if (!(values && src$utils$$.hop.call(values, id))) {\n err = new Error('A value must be provided for: ' + id);\n err.variableId = id;\n throw err;\n }\n\n value = values[id];\n\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (part.options) {\n result += this._format(part.getOption(value), values);\n } else {\n result += part.format(value);\n }\n }\n\n return result;\n};\n\nMessageFormat.prototype._mergeFormats = function (defaults, formats) {\n var mergedFormats = {},\n type, mergedType;\n\n for (type in defaults) {\n if (!src$utils$$.hop.call(defaults, type)) { continue; }\n\n mergedFormats[type] = mergedType = src$es5$$.objCreate(defaults[type]);\n\n if (formats && src$utils$$.hop.call(formats, type)) {\n src$utils$$.extend(mergedType, formats[type]);\n }\n }\n\n return mergedFormats;\n};\n\nMessageFormat.prototype._resolveLocale = function (locales) {\n if (typeof locales === 'string') {\n locales = [locales];\n }\n\n // Create a copy of the array so we can push on the default locale.\n locales = (locales || []).concat(MessageFormat.defaultLocale);\n\n var localeData = MessageFormat.__localeData__;\n var i, len, localeParts, data;\n\n // Using the set of locales + the default locale, we look for the first one\n // which that has been registered. When data does not exist for a locale, we\n // traverse its ancestors to find something that's been registered within\n // its hierarchy of locales. Since we lack the proper `parentLocale` data\n // here, we must take a naive approach to traversal.\n for (i = 0, len = locales.length; i < len; i += 1) {\n localeParts = locales[i].toLowerCase().split('-');\n\n while (localeParts.length) {\n data = localeData[localeParts.join('-')];\n if (data) {\n // Return the normalized locale string; e.g., we return \"en-US\",\n // instead of \"en-us\".\n return data.locale;\n }\n\n localeParts.pop();\n }\n }\n\n var defaultLocale = locales.pop();\n throw new Error(\n 'No locale data has been added to IntlMessageFormat for: ' +\n locales.join(', ') + ', or the default locale: ' + defaultLocale\n );\n};\n\n//# sourceMappingURL=core.js.map","// GENERATED FILE\n\"use strict\";\nexports[\"default\"] = {\"locale\":\"en\",\"pluralRuleFunction\":function (n,ord){var s=String(n).split(\".\"),v0=!s[1],t0=Number(s[0])==n,n10=t0&&s[0].slice(-1),n100=t0&&s[0].slice(-2);if(ord)return n10==1&&n100!=11?\"one\":n10==2&&n100!=12?\"two\":n10==3&&n100!=13?\"few\":\"other\";return n==1&&v0?\"one\":\"other\"}};\n\n//# sourceMappingURL=en.js.map","/* jslint esnext: true */\n\n\"use strict\";\nvar src$core$$ = require(\"./core\"), src$en$$ = require(\"./en\");\n\nsrc$core$$[\"default\"].__addLocaleData(src$en$$[\"default\"]);\nsrc$core$$[\"default\"].defaultLocale = 'en';\n\nexports[\"default\"] = src$core$$[\"default\"];\n\n//# sourceMappingURL=main.js.map","/* jshint node:true */\n\n'use strict';\n\nvar IntlMessageFormat = require('./lib/main')['default'];\n\n// Add all locale data to `IntlMessageFormat`. This module will be ignored when\n// bundling for the browser with Browserify/Webpack.\nrequire('./lib/locales');\n\n// Re-export `IntlMessageFormat` as the CommonJS default exports with all the\n// locale data registered, and with English set as the default locale. Define\n// the `default` prop for use with other compiled ES6 Modules.\nexports = module.exports = IntlMessageFormat;\nexports['default'] = exports;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observer = function (obj) {\n Object.keys(obj.__data__ || obj).forEach(function (key) {\n defineReactive(obj, key);\n });\n return obj;\n};\nvar observe = function (value) {\n if (!value || typeof value !== 'object') {\n return;\n }\n Observer(value);\n};\nvar defineReactive = function (obj, key) {\n var childObj = observe(obj[key]);\n Object.defineProperty(obj, key, {\n get: function () {\n if (obj.__data__[key]) {\n return obj.__data__[key];\n }\n else if (obj.__metas__['zh-CN'][key]) {\n return obj.__metas__['zh-CN'][key];\n }\n },\n set: function (newVal) {\n if (obj[key] === newVal) {\n return;\n }\n obj[key] = newVal;\n var cb = obj.callback[key];\n cb.call(obj);\n childObj = observe(newVal);\n }\n });\n};\nexports.default = Observer;\n//# sourceMappingURL=Observer.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar intl_messageformat_1 = require(\"intl-messageformat\");\nvar lodashGet = require(\"lodash.get\");\nvar Observer_1 = require(\"./Observer\");\nvar I18N = (function () {\n function I18N(lang, metas) {\n this.__lang__ = lang;\n this.__metas__ = metas;\n this.__data__ = metas[lang];\n }\n I18N.prototype.setLang = function (lang) {\n this.__lang__ = lang;\n this.__data__ = this.__metas__[lang];\n };\n I18N.prototype.getProp = function (obj, is, value) {\n if (typeof is === 'string') {\n is = is.split('.');\n }\n if (is.length === 1 && value !== undefined) {\n return (obj[is[0]] = value);\n }\n else if (is.length === 0) {\n return obj;\n }\n else {\n var prop = is.shift();\n if (value !== undefined && obj[prop] === undefined) {\n obj[prop] = {};\n }\n return this.getProp(obj[prop], is, value);\n }\n };\n I18N.prototype.template = function (str, args) {\n var _this = this;\n if (!str) {\n return '';\n }\n return str.replace(/\\{(.+?)\\}/g, function (match, p1) {\n return _this.getProp(__assign({}, _this.__data__, args), p1);\n });\n };\n I18N.prototype.get = function (str, args) {\n var msg = lodashGet(this.__data__, str);\n if (!msg) {\n msg = lodashGet(this.__metas__['zh-CN'], str, str);\n }\n if (args) {\n try {\n msg = new intl_messageformat_1.default(msg, this.__lang__);\n msg = msg.format(args);\n return msg;\n }\n catch (err) {\n console.warn(\"kiwi-intl format message failed for key='\" + str + \"'\", err);\n return '';\n }\n }\n else {\n return msg;\n }\n };\n return I18N;\n}());\nvar IntlFormat = {\n init: function (lang, metas) {\n var i18n = new I18N(lang, metas);\n return Observer_1.default(i18n);\n }\n};\nexports.IntlFormat = IntlFormat;\nexports.default = IntlFormat;\n//# sourceMappingURL=index.js.map","export default {\n \"index\": {\n \"others\": \"Others\"\n }\n}","export default {\n \"platform\": \"支付平台\"\n}","import priceOptions from './priceOptions';\nimport payplatformoption from './payplatformoption';\n\nexport default Object.assign({}, {\n priceOptions,\n payplatformoption,\n});","export default {\n index: {\n others: '其他金额',\n },\n};\n","export default {\n platform: '支付平台',\n};\n","import priceOptions from './priceOptions';\nimport payplatformoption from './payplatformoption';\n\nexport default Object.assign({}, {\n priceOptions,\n payplatformoption,\n});","import React, { PureComponent } from \"react\";\nimport classnames from 'classnames';\n\nimport styles from './test.less';\n\nexport const ImgRowList = (\n imglist: Array<string>,\n outterKey: string,\n type: string | null = 'normal',\n) => {\n if (!imglist || !Array.isArray(imglist)) return null;\n return (\n <div\n className={classnames(styles.normal_img_row_list, {\n [styles.middle_type]: type === 'middle',\n })}\n >\n {imglist.map((image_url: string, index: number) => {\n return (\n <span key={`${outterKey}_${image_url}`}>\n <img src={image_url} alt={`comment ${index}`} />\n </span>\n );\n })}\n </div>\n );\n};\n\ninterface MyNormalListProps {\n style?: any;\n renderItem: Function | any;\n renderData: Array<any>;\n}\nexport class MyNormalList extends PureComponent<MyNormalListProps, {}> {\n render() {\n const {\n style: innerStyle = {},\n renderItem = () => {},\n renderData = [],\n } = this.props;\n\n if (!renderData || !Array.isArray(renderData)) {\n console.error('MyNormalList Components renderData Props must be Array');\n return null;\n }\n\n return (\n <div className={styles.normal_list_wrapper} style={innerStyle}>\n {renderData.map((value, index, arr) => renderItem(value, index))}\n </div>\n );\n }\n}\n\ninterface NormalCardProps {\n key: any;\n userinfo: {\n nickname: string | any;\n avatar: string | any;\n created: string | number;\n };\n main_content: any;\n append_content?: any;\n content_img_assets?: Array<string>;\n options?: {\n header_size?: 'small' | 'normal' | 'middle';\n bottom_divider?: boolean;\n };\n}\nexport class NormalCard extends PureComponent<NormalCardProps, {}> {\n render() {\n const {\n userinfo: { nickname, avatar, created } = {\n nickname: '',\n avatar: '',\n created: '',\n },\n main_content = null,\n append_content = null,\n content_img_assets = [],\n options = {\n header_size: 'normal',\n bottom_divider: false,\n },\n } = this.props;\n //\n\n const RENDEROPTIONS_showImgList =\n content_img_assets && content_img_assets.length > 0;\n\n return (\n <div\n className={classnames(styles.normal_card_wrapper, {\n [styles.header_middle]: options.header_size === 'middle', // default\n [styles.header_small]: options.header_size === 'small',\n [styles.bottom_border]: options.bottom_divider,\n })}\n >\n <time>{created}</time>\n <header>\n {typeof avatar === 'string' ? (\n <div className={styles.avatar_wrapper}>\n <img src={avatar} alt=\"user_avatar\" />\n </div>\n ) : (\n avatar\n )}\n <div className={styles.nickname_wrapper}>{nickname}</div>\n </header>\n <div className={styles.main_content_wrapper}>\n {main_content}\n {RENDEROPTIONS_showImgList\n ? ImgRowList(content_img_assets, this.props.key)\n : null}\n </div>\n <div className={styles.append_wrapper}>{append_content}</div>\n </div>\n );\n }\n}\n\ninterface ShareCardProps {\n isMobile: boolean | any;\n mode: 'line' | 'block';\n render_mode: 'text' | 'object';\n share_data: any;\n}\nexport class ShareCard extends PureComponent<ShareCardProps, {}> {\n render() {\n const {\n isMobile = false,\n render_mode = 'text',\n mode = 'line',\n share_data = '',\n } = this.props;\n\n return (\n <div\n className={classnames(styles.share_card_wrapper, {\n [styles.mobile_mode]: isMobile,\n [styles.mode_line]: mode === 'line', // default\n [styles.mode_block]: mode === 'block',\n })}\n >\n {render_mode === 'text' ? share_data : null}\n </div>\n );\n }\n}\n\n// type TransmitType = 'imgTxt' | 'shortVideo' | 'microVideo';\n// type TransmitImgTxtData = {\n// user_id?: string|number;\n// anonymity?: boolean;\n// avatar?: string;\n// nickname?: string;\n// is_long?: boolean;\n// }\n\n// interface TransmitCardProps {\n// type: TransmitType;\n// data: TransmitImgTxtData;\n// }\n\n// export class TransmitCard extends React.PureComponent<TransmitCardProps, {}> {\n// renderVideo() {\n// return <div className={styles.transmitVideoCard}>Video</div>;\n// }\n\n// renderImgTxt() {\n// const { data } = this.props;\n// const {\n// user_id,\n// anonymity,\n// avatar,\n// nickname,\n// is_long,\n// } = data;\n\n// return (\n// <div className={styles.transmitImgTxtCard}>\n// <div className={styles.header}>\n// <UserLink user_id={user_id} anonymity={anonymity}>\n// <Avatar\n// id={user_id}\n// image={avatar}\n// follow={false}\n// size=\"cover\"\n// className={styles.ava}\n// anonymity={anonymity}\n// />\n// </UserLink>\n// <div className={styles.nickname}>\n// <UserLink user_id={user_id} anonymity={anonymity}>\n// {nickname}\n// </UserLink>\n// </div>\n// <div className={styles.type}>\n// {is_long\n// ? intl.get('bilingually.imgtxt.article')\n// : intl.get('bilingually.imgtxt')}\n// </div>\n// </div>\n// </div>\n// );\n// }\n\n// render() {\n// const { type } = this.props;\n// if (type === 'imgTxt') {\n// this.renderImgTxt();\n// }\n// if (type === 'shortVideo' || type === 'microVideo') {\n// this.renderVideo();\n// }\n// return null;\n// }\n// }\n\nexport const Test = \"TestComponent\";\nexport const TestRedTxt = () => (\n <div className={styles.red}>\n RedTxt\n </div>\n)\n\nexport default {\n MyNormalList,\n NormalCard,\n ShareCard,\n Test,\n // TransmitCard\n};","\nimport KiwiIntl from 'kiwi-intl';\n\nimport enUsLangs from '../.kiwi/en_US/index.ts';\nimport zhCNLangs from '../.kiwi/zh_CN/index.ts';\nconst langs = {\n 'en_US': enUsLangs,\n 'zh_CN': zhCNLangs\n};\n\nexport const kiwiIntl = KiwiIntl.init('en_US', langs);\n\nexport { Test } from '@components/Common/test.tsx';\nexport * from '@components/Common/index.ts';\nexport * from '@components/Payment/index.ts';"],"names":["src$utils$$","require$$0","src$es5$$","intl$messageformat$parser$$","compiler","src$compiler$$","src$core$$","src$en$$","global","this","lodashGet","intl_messageformat_1","Object","assign","priceOptions","payplatformoption","index","others","platform","Test","langs","enUsLangs","zhCNLangs","kiwiIntl","KiwiIntl","init"],"mappings":"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"}