1 |
- {"version":3,"file":"index-6812601d.js","sources":["../../src/components/Payment/Utils/utils.ts","../../src/components/Payment/Common/assets/popovers_list_huangguan.png","../../src/components/Payment/Common/ConsumeListView/index.tsx","../../node_modules/@formatjs/macro/dist/index.js","../../node_modules/intl-messageformat-parser/dist/types.js","../../node_modules/intl-messageformat-parser/dist/parser.js","../../node_modules/intl-messageformat-parser/dist/normalize.js","../../node_modules/intl-messageformat-parser/dist/skeleton.js","../../node_modules/intl-messageformat-parser/dist/index.js","../../node_modules/intl-format-cache/dist/index.js","../../node_modules/react-intl/node_modules/intl-messageformat/dist/formatters.js","../../node_modules/react-intl/node_modules/intl-messageformat/dist/core.js","../../node_modules/react-intl/node_modules/intl-messageformat/dist/index.js","../../node_modules/invariant/browser.js","../../node_modules/react-intl/dist/utils.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/cjs/react-is.development.js","../../node_modules/react-is/index.js","../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../node_modules/react-intl/dist/components/injectIntl.js","../../node_modules/react-intl/dist/components/createFormattedComponent.js","../../node_modules/react-intl/dist/components/useIntl.js","../../node_modules/intl-locales-supported/dist/index.js","../../node_modules/react-intl/dist/formatters/number.js","../../node_modules/react-intl/dist/formatters/relativeTime.js","../../node_modules/react-intl/dist/formatters/dateTime.js","../../node_modules/react-intl/dist/formatters/plural.js","../../node_modules/react-intl/dist/formatters/message.js","../../node_modules/shallow-equal/objects/index.js","../../node_modules/react-intl/dist/formatters/list.js","../../node_modules/react-intl/dist/components/provider.js","../../node_modules/react-intl/dist/components/relative.js","../../node_modules/react-intl/dist/components/plural.js","../../node_modules/react-intl/dist/components/message.js","../../node_modules/react-intl/dist/components/html-message.js","../../node_modules/react-intl/dist/index.js","../../src/components/Payment/Common/assets/kcxq_popovers_icon_alipay@2x.png","../../src/components/Payment/Common/assets/kcxq_popovers_icon_wechatpay@2x.png","../../src/components/Payment/Common/assets/kcxq_popovers_icon_paypal@2x.png","../../src/components/Payment/Common/assets/payment_btn_pay_alipay@2x.png","../../src/components/Payment/Common/assets/payment_btn_pay_wechatpay@2x.png","../../src/components/Payment/Common/assets/payment_btn_pay_paypal@2x.png","../../src/components/Payment/Common/PayPlatformOptions/index.tsx","../../src/components/Payment/Common/PriceOptions/index.tsx","../../src/components/Payment/Common/assets/icon-info-blue@2x.svg","../../src/components/Payment/Common/WaitPayInfoView/index.tsx"],"sourcesContent":["\nexport const IMAGE_PROCESS = '?x-oss-process=image/resize,h_350';\nexport const IMAGE_PROCESS_SMALL = '?x-oss-process=image/resize,h_100';\nexport const IMAGE_PROCESS_LARGE = '?x-oss-process=image/resize,h_500';\n\ntype AddImageProcessOptions = {\n small?: boolean;\n large?: boolean;\n custom?: boolean;\n width?: string;\n height?: string;\n}\n\nexport function addImageProcess(url: string, options: AddImageProcessOptions = { width: '36px', height: '36px' }) {\n // 防止重复添加导致的url不正确\n if (url && url.indexOf('x-oss-process') > -1) {\n return url;\n }\n if (options.small) {\n return url + IMAGE_PROCESS_SMALL;\n }\n if (options.large) {\n return url + IMAGE_PROCESS_LARGE;\n }\n if (options.custom) {\n return `${url}?x-oss-process=image/resize,limit_0,m_fill,w_${options.width},h_${options.height}`;\n }\n return url + IMAGE_PROCESS;\n}\n\nexport function formatMoney(input: any, fuzz = 2) {\n if (isNaN(+input)) {\n return input;\n }\n return (+input).toFixed(fuzz);\n}","const img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABvklEQVQ4T62UTygEcRTHv29MIsqfk6OL5CYH5aKd9WfjwqxEnBzExYWTCEWJJGove5H8OTA1uwdCrOWAi83ZwUXJiSj5u+Z5s0msmd2SX81h+r33ee/7fW+G8E+H/srhqEcFCjphve1RzcaVK4j3mmoB5YxqQzdOxTji1wE2QZglb2jAEcT7/g4wr0rQugS1OYJ26nOg5nYDr4ZrR7yrl0FBAKBlqjEX3eRLwSXAmidvOJbSI47oF9LVKaCOkNc4/w7kSPOoFBqDwjpp4XA60LUkF8nzbsuERQt4ejtGdsYwiAYTYIV6STOD6UB3EpqXJC0u7zKxz0Mk3Zrj7lOLerJg5T9K+2lWhALiYx8xS9NbDZnUuPXy0wN/hYw3lnbPiNfE7HaSfTAloRqKWkya8WAnMrdmIBqfBqM/BehJAo+gKHMibdMGzUhqKUiZAHGVXJYLwPdpshPnRDRM4fl5+7uKL/0c1WXdOSie5Dh3wZcyoR7SQttO9z+M5MOWEsStFQmsTAoOwVK7qM64d5P6ayKJj9EqHBa5Q4kx2/ujqR1Exnsq493HH2muFN98oNtJ0g7s3Ul5/vwbSab+G+gDqFybE11pYkYAAAAASUVORK5CYII='; export default img;","import React, { Component } from 'react';\nimport classnames from 'classnames';\n\n// import { DEFAULT_AVATAR } from '@/constants';\nimport { addImageProcess } from '../../Utils/utils';\nimport KingDomPic from '../assets/popovers_list_huangguan.png';\n\nimport styles from './ConsumeListView.less';\n\nconst DEFAULT_AVATAR =\n '//links-comment.oss-cn-beijing.aliyuncs.com/comment/20180820/Kgka4_oU1.jpeg';\n\ntype Props = {\n isToggle: boolean;\n onToggleChange: Function;\n dataSource: Array<{\n id?: string|number;\n user_avatar?: string;\n bill_price?: number;\n }>;\n listLength: number;\n showLength: number;\n options: {\n avatarSize: number,\n avatarMarginLeftAndRight: number,\n kingdomWidth: number,\n kingdomHeight: number,\n kingdomPosition: [number, number],\n },\n}\n\nclass ConsumeListView extends Component<Props> {\n static defaultProps: Props = {\n isToggle: false,\n onToggleChange: () => {},\n dataSource: [],\n listLength: 0,\n showLength: 6,\n options: {\n avatarSize: 36,\n avatarMarginLeftAndRight: 6,\n kingdomWidth: 24,\n kingdomHeight: 22,\n kingdomPosition: [-6, -12],\n },\n }\n\n renderConsumeItem() {\n const {\n dataSource,\n isToggle,\n showLength,\n listLength,\n options,\n } = this.props;\n const {\n kingdomWidth,\n kingdomHeight,\n kingdomPosition,\n avatarSize,\n avatarMarginLeftAndRight,\n } = options;\n\n let renderData = dataSource;\n if (!isToggle && listLength > showLength) {\n renderData = dataSource.slice(0, showLength - 1);\n }\n\n return renderData.map((v, i) => {\n let kingdom = null;\n if (i === 0) {\n kingdom = (\n <img\n className={styles.kingdomIcon}\n src={KingDomPic}\n alt=\"reward top user\"\n style={{\n width: `${kingdomWidth}px`,\n height: `${kingdomHeight}px`,\n left: `${kingdomPosition[0]}px`,\n top: `${kingdomPosition[1]}px`,\n }}\n />\n );\n }\n return (\n <li\n key={v.id}\n className={styles.consumeItem}\n style={{ margin: `0 ${avatarMarginLeftAndRight}px 10px` }}\n >\n {kingdom}\n <div\n className={styles.avatar}\n style={{\n backgroundImage: `url(${addImageProcess(\n v.user_avatar || DEFAULT_AVATAR,\n {\n small: true,\n },\n )})`,\n width: `${avatarSize}px`,\n height: `${avatarSize}px`,\n }}\n />\n <span className={styles.gray}>\n {/* {intl.get('bilingually.gift.item', {\n nums: v.bill_price / 100,\n }) /* {item.num}另币 */}\n </span>\n </li>\n );\n });\n }\n\n renderToggleButton() {\n const {\n isToggle,\n onToggleChange,\n listLength,\n showLength,\n options,\n } = this.props;\n const { avatarSize, avatarMarginLeftAndRight } = options;\n\n if (listLength <= showLength) {\n return null;\n }\n\n return (\n <li\n onClick={() => onToggleChange()}\n className={classnames(styles.toggle, {\n [styles.expand]: isToggle,\n })}\n style={{\n width: `${avatarSize}px`,\n height: `${avatarSize}px`,\n lineHeight: `${avatarSize}px`,\n margin: `0 ${avatarMarginLeftAndRight}px 10px`,\n }}\n />\n );\n }\n\n render() {\n const { showLength, options } = this.props;\n const { avatarSize, avatarMarginLeftAndRight } = options;\n return (\n <div className={styles.wrapper}>\n <ul\n className={styles.consumelist}\n style={{\n width: `calc(${avatarMarginLeftAndRight * 2 +\n avatarSize}px * ${showLength})`,\n }}\n >\n {this.renderConsumeItem()}\n {this.renderToggleButton()}\n </ul>\n </div>\n );\n }\n}\n\nexport default ConsumeListView;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction _(msg) {\n return msg;\n}\nexports._ = _;\nfunction defineMessages(msgs) {\n return msgs;\n}\nexports.defineMessages = defineMessages;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n})(TYPE = exports.TYPE || (exports.TYPE = {}));\n/**\n * Type Guards\n */\nfunction isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexports.isLiteralElement = isLiteralElement;\nfunction isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexports.isArgumentElement = isArgumentElement;\nfunction isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexports.isNumberElement = isNumberElement;\nfunction isDateElement(el) {\n return el.type === TYPE.date;\n}\nexports.isDateElement = isDateElement;\nfunction isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexports.isTimeElement = isTimeElement;\nfunction isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexports.isSelectElement = isSelectElement;\nfunction isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexports.isPluralElement = isPluralElement;\nfunction isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 0 /* number */);\n}\nexports.isNumberSkeleton = isNumberSkeleton;\nfunction isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 1 /* dateTime */);\n}\nexports.isDateTimeSkeleton = isDateTimeSkeleton;\nfunction createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexports.createLiteralElement = createLiteralElement;\nfunction createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\nexports.createNumberElement = createNumberElement;\n","\"use strict\";\n// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\nvar types_1 = require(\"./types\");\nvar SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function classEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n return SyntaxError;\n}(Error));\nexports.SyntaxError = SyntaxError;\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { start: peg$parsestart };\n var peg$startRuleFunction = peg$parsestart;\n var peg$c0 = function (parts) {\n return parts.join('');\n };\n var peg$c1 = function (messageText) {\n return __assign({ type: types_1.TYPE.literal, value: messageText }, insertLocation());\n };\n var peg$c2 = peg$otherExpectation(\"argumentElement\");\n var peg$c3 = \"{\";\n var peg$c4 = peg$literalExpectation(\"{\", false);\n var peg$c5 = \"}\";\n var peg$c6 = peg$literalExpectation(\"}\", false);\n var peg$c7 = function (value) {\n return __assign({ type: types_1.TYPE.argument, value: value }, insertLocation());\n };\n var peg$c8 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c9 = /^['\\/{}]/;\n var peg$c10 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c11 = peg$anyExpectation();\n var peg$c12 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c13 = \"/\";\n var peg$c14 = peg$literalExpectation(\"/\", false);\n var peg$c15 = function (option) { return option; };\n var peg$c16 = peg$otherExpectation(\"numberSkeletonToken\");\n var peg$c17 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c18 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n };\n var peg$c19 = \"::\";\n var peg$c20 = peg$literalExpectation(\"::\", false);\n var peg$c21 = function (skeleton) { return skeleton; };\n var peg$c22 = function (style) { return style.replace(/\\s*$/, ''); };\n var peg$c23 = \",\";\n var peg$c24 = peg$literalExpectation(\",\", false);\n var peg$c25 = \"number\";\n var peg$c26 = peg$literalExpectation(\"number\", false);\n var peg$c27 = function (value, type, style) {\n return __assign({ type: type === 'number' ? types_1.TYPE.number : type === 'date' ? types_1.TYPE.date : types_1.TYPE.time, style: style && style[2], value: value }, insertLocation());\n };\n var peg$c28 = \"'\";\n var peg$c29 = peg$literalExpectation(\"'\", false);\n var peg$c30 = /^[^']/;\n var peg$c31 = peg$classExpectation([\"'\"], true, false);\n var peg$c32 = /^[^a-zA-Z'{}]/;\n var peg$c33 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c34 = /^[a-zA-Z]/;\n var peg$c35 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n var peg$c36 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n };\n var peg$c37 = \"date\";\n var peg$c38 = peg$literalExpectation(\"date\", false);\n var peg$c39 = \"time\";\n var peg$c40 = peg$literalExpectation(\"time\", false);\n var peg$c41 = \"plural\";\n var peg$c42 = peg$literalExpectation(\"plural\", false);\n var peg$c43 = \"selectordinal\";\n var peg$c44 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c45 = \"offset:\";\n var peg$c46 = peg$literalExpectation(\"offset:\", false);\n var peg$c47 = function (value, pluralType, offset, options) {\n return __assign({ type: types_1.TYPE.plural, pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in plural element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c48 = \"select\";\n var peg$c49 = peg$literalExpectation(\"select\", false);\n var peg$c50 = function (value, options) {\n return __assign({ type: types_1.TYPE.select, value: value, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in select element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c51 = \"=\";\n var peg$c52 = peg$literalExpectation(\"=\", false);\n var peg$c53 = function (id, value) {\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c54 = function (id, value) {\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c55 = peg$otherExpectation(\"whitespace pattern\");\n var peg$c56 = /^[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n var peg$c57 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\u200E\", \"\\u200F\", \"\\u2028\", \"\\u2029\"], false, false);\n var peg$c58 = peg$otherExpectation(\"syntax pattern\");\n var peg$c59 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n var peg$c60 = peg$classExpectation([[\"!\", \"/\"], [\":\", \"@\"], [\"[\", \"^\"], \"`\", [\"{\", \"~\"], [\"\\xA1\", \"\\xA7\"], \"\\xA9\", \"\\xAB\", \"\\xAC\", \"\\xAE\", \"\\xB0\", \"\\xB1\", \"\\xB6\", \"\\xBB\", \"\\xBF\", \"\\xD7\", \"\\xF7\", [\"\\u2010\", \"\\u2027\"], [\"\\u2030\", \"\\u203E\"], [\"\\u2041\", \"\\u2053\"], [\"\\u2055\", \"\\u205E\"], [\"\\u2190\", \"\\u245F\"], [\"\\u2500\", \"\\u2775\"], [\"\\u2794\", \"\\u2BFF\"], [\"\\u2E00\", \"\\u2E7F\"], [\"\\u3001\", \"\\u3003\"], [\"\\u3008\", \"\\u3020\"], \"\\u3030\", \"\\uFD3E\", \"\\uFD3F\", \"\\uFE45\", \"\\uFE46\"], false, false);\n var peg$c61 = peg$otherExpectation(\"optional whitespace\");\n var peg$c62 = peg$otherExpectation(\"number\");\n var peg$c63 = \"-\";\n var peg$c64 = peg$literalExpectation(\"-\", false);\n var peg$c65 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c66 = peg$otherExpectation(\"apostrophe\");\n var peg$c67 = peg$otherExpectation(\"double apostrophes\");\n var peg$c68 = \"''\";\n var peg$c69 = peg$literalExpectation(\"''\", false);\n var peg$c70 = function () { return \"'\"; };\n var peg$c71 = /^[{}]/;\n var peg$c72 = peg$classExpectation([\"{\", \"}\"], false, false);\n var peg$c73 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n var peg$c74 = /^[^{}]/;\n var peg$c75 = peg$classExpectation([\"{\", \"}\"], true, false);\n var peg$c76 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c77 = peg$otherExpectation(\"argNumber\");\n var peg$c78 = \"0\";\n var peg$c79 = peg$literalExpectation(\"0\", false);\n var peg$c80 = function () { return 0; };\n var peg$c81 = /^[1-9]/;\n var peg$c82 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c83 = /^[0-9]/;\n var peg$c84 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c85 = function (digits) {\n return parseInt(digits.join(''), 10);\n };\n var peg$c86 = peg$otherExpectation(\"argName\");\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\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 function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parsestart() {\n var s0;\n s0 = peg$parsemessage();\n return s0;\n }\n function peg$parsemessage() {\n var s0, s1;\n s0 = [];\n s1 = peg$parsemessageElement();\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsemessageElement();\n }\n return s0;\n }\n function peg$parsemessageElement() {\n var s0;\n s0 = peg$parseliteralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesimpleFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectElement();\n }\n }\n }\n }\n return s0;\n }\n function peg$parsemessageText() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parseliteralElement() {\n var s0, s1;\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s5 = peg$c5;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c7(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c2);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonId() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c9.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c10);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\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$currPos;\n peg$silentFails++;\n s4 = peg$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c9.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c10);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c8);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonTokenOption() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c13;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c15(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c12);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonToken() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsenumberSkeletonTokenOption();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsenumberSkeletonTokenOption();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c17(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c16);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeleton() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsenumberSkeletonToken();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsenumberSkeletonToken();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsenumberArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c19) {\n s1 = peg$c19;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c22(s1);\n }\n s0 = s1;\n }\n return s0;\n }\n function peg$parsenumberFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c23;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c25) {\n s7 = peg$c25;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c26);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c23;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsenumberArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c5;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonLiteral() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c28;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c30.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c31);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c30.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c31);\n }\n }\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c28;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = [];\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c32.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c32.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonPattern() {\n var s0, s1;\n s0 = [];\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeleton() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = [];\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n }\n else {\n s1 = s2;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c36(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsedateOrTimeArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c19) {\n s1 = peg$c19;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c22(s1);\n }\n s0 = s1;\n }\n return s0;\n }\n function peg$parsedateOrTimeFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c23;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c37) {\n s7 = peg$c37;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c39) {\n s7 = peg$c39;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c40);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c23;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsedateOrTimeArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c5;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsesimpleFormatElement() {\n var s0;\n s0 = peg$parsenumberFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedateOrTimeFormatElement();\n }\n return s0;\n }\n function peg$parsepluralElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c23;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c41) {\n s7 = peg$c41;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c42);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c43) {\n s7 = peg$c43;\n peg$currPos += 13;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c44);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c23;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c45) {\n s12 = peg$c45;\n peg$currPos += 7;\n }\n else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c46);\n }\n }\n if (s12 !== peg$FAILED) {\n s13 = peg$parse_();\n if (s13 !== peg$FAILED) {\n s14 = peg$parsenumber();\n if (s14 !== peg$FAILED) {\n s12 = [s12, s13, s14];\n s11 = s12;\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n if (s11 === peg$FAILED) {\n s11 = null;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parsepluralOption();\n if (s14 !== peg$FAILED) {\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parsepluralOption();\n }\n }\n else {\n s13 = peg$FAILED;\n }\n if (s13 !== peg$FAILED) {\n s14 = peg$parse_();\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s15 = peg$c5;\n peg$currPos++;\n }\n else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c47(s3, s7, s11, s13);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseselectElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c3;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c23;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c48) {\n s7 = peg$c48;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c49);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c23;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseselectOption();\n if (s12 !== peg$FAILED) {\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseselectOption();\n }\n }\n else {\n s11 = peg$FAILED;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s13 = peg$c5;\n peg$currPos++;\n }\n else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c50(s3, s11);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralRuleSelectValue() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c51;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\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 }\n else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseargName();\n }\n return s0;\n }\n function peg$parseselectOption() {\n var s0, s1, s2, s3, s4, s5, s6;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargName();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c3;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsemessage();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s6 = peg$c5;\n peg$currPos++;\n }\n else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c53(s2, s5);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsepluralRuleSelectValue();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c3;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsemessage();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s6 = peg$c5;\n peg$currPos++;\n }\n else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c6);\n }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c54(s2, s5);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepatternWhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c56.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c57);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c55);\n }\n }\n return s0;\n }\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c59.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c60);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c58);\n }\n }\n return s0;\n }\n function peg$parse_() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsepatternWhiteSpace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsepatternWhiteSpace();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c61);\n }\n }\n return s0;\n }\n function peg$parsenumber() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c63;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c65(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n return s0;\n }\n function peg$parseapostrophe() {\n var s0, s1;\n peg$silentFails++;\n if (input.charCodeAt(peg$currPos) === 39) {\n s0 = peg$c28;\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c66);\n }\n }\n return s0;\n }\n function peg$parsedoubleApostrophes() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c68) {\n s1 = peg$c68;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70();\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c67);\n }\n }\n return s0;\n }\n function peg$parsequotedString() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c28;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s1 !== peg$FAILED) {\n if (peg$c71.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c72);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n if (input.substr(peg$currPos, 2) === peg$c68) {\n s5 = peg$c68;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c30.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c31);\n }\n }\n }\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n if (input.substr(peg$currPos, 2) === peg$c68) {\n s5 = peg$c68;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c30.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c31);\n }\n }\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = input.substring(s3, peg$currPos);\n }\n else {\n s3 = s4;\n }\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s4 = peg$c28;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c73(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseunquotedString() {\n var s0, s1;\n s0 = peg$currPos;\n if (peg$c74.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c75);\n }\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseargNameOrNumber() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parseargName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n return s0;\n }\n function peg$parseargNumber() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c78;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c79);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c80();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c81.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c82);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n if (peg$c83.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c84);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n if (peg$c83.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c84);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c85(s1);\n }\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c77);\n }\n }\n return s0;\n }\n function peg$parseargName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\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$currPos;\n peg$silentFails++;\n s4 = peg$parsepatternWhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n return s0;\n }\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\n }\n peg$result = peg$startRuleFunction();\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n }\n else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\nexports.pegParse = peg$parse;\n","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar types_1 = require(\"./types\");\nvar parser_1 = require(\"./parser\");\nvar PLURAL_HASHTAG_REGEX = /(^|[^\\\\])#/g;\n/**\n * Whether to convert `#` in plural rule options\n * to `{var, number}`\n * @param el AST Element\n * @param pluralStack current plural stack\n */\nfunction normalizeHashtagInPlural(els) {\n els.forEach(function (el) {\n // If we're encountering a plural el\n if (!types_1.isPluralElement(el) && !types_1.isSelectElement(el)) {\n return;\n }\n // Go down the options and search for # in any literal element\n Object.keys(el.options).forEach(function (id) {\n var _a;\n var opt = el.options[id];\n // If we got a match, we have to split this\n // and inject a NumberElement in the middle\n var matchingLiteralElIndex = -1;\n var literalEl = undefined;\n for (var i = 0; i < opt.value.length; i++) {\n var el_1 = opt.value[i];\n if (types_1.isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) {\n matchingLiteralElIndex = i;\n literalEl = el_1;\n break;\n }\n }\n if (literalEl) {\n var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, \"$1{\" + el.value + \", number}\");\n var newEls = parser_1.pegParse(newValue);\n (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls));\n }\n normalizeHashtagInPlural(opt.value);\n });\n });\n}\nexports.normalizeHashtagInPlural = normalizeHashtagInPlural;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nfunction parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) pattenrs are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) pattenrs are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\nexports.parseDateTimeSkeleton = parseDateTimeSkeleton;\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\+|#+)?)?$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nfunction parseSignificantPrecision(str) {\n var result = {};\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nfunction convertNumberSkeletonToNumberFormatOptions(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n result.style = 'percent';\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n }\n // Precision\n // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (match, g1, g2) {\n // precision-integer case\n if (match === '.') {\n result.maximumFractionDigits = 0;\n }\n // .000+ case\n else if (g2 === '+') {\n result.minimumFractionDigits = g2.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumFractionDigits = g1.length;\n }\n // .00## or .000 case\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n if (token.options.length) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n continue;\n }\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n }\n return result;\n}\nexports.convertNumberSkeletonToNumberFormatOptions = convertNumberSkeletonToNumberFormatOptions;\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar parser_1 = require(\"./parser\");\nvar normalize_1 = require(\"./normalize\");\n__export(require(\"./types\"));\n__export(require(\"./parser\"));\n__export(require(\"./skeleton\"));\nfunction parse(input, opts) {\n var els = parser_1.pegParse(input, opts);\n if (!opts || opts.normalizeHashtagInPlural !== false) {\n normalize_1.normalizeHashtagInPlural(els);\n }\n return els;\n}\nexports.parse = parse;\n","\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// -- Utilities ----------------------------------------------------------------\nfunction getCacheId(inputs) {\n return JSON.stringify(inputs.map(function (input) {\n return input && typeof input === 'object' ? orderedProps(input) : input;\n }));\n}\nfunction orderedProps(obj) {\n return Object.keys(obj)\n .sort()\n .map(function (k) {\n var _a;\n return (_a = {}, _a[k] = obj[k], _a);\n });\n}\nvar memoizeFormatConstructor = function (FormatConstructor, cache) {\n if (cache === void 0) { cache = {}; }\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n if (!format) {\n format = new ((_a = FormatConstructor).bind.apply(_a, __spreadArrays([void 0], args)))();\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n return format;\n };\n};\nexports.default = memoizeFormatConstructor;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar intl_messageformat_parser_1 = require(\"intl-messageformat-parser\");\nvar ESCAPE_HASH_REGEX = /\\\\#/g;\nvar PLURAL_HASH = /(^|[^\\\\])#/g;\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, variableId) {\n var _this = _super.call(this, msg) || this;\n _this.variableId = variableId;\n return _this;\n }\n return FormatError;\n}(Error));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== 0 /* literal */ ||\n part.type !== 0 /* literal */) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\n// TODO(skeleton): add skeleton support\nfunction formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && intl_messageformat_parser_1.isLiteralElement(els[0])) {\n var value = els[0].value;\n if (typeof currentPluralValue === 'number') {\n value = value.replace(PLURAL_HASH, '$1' + formatters.getNumberFormat(locales).format(currentPluralValue));\n }\n return [\n {\n type: 0 /* literal */,\n value: value.replace(ESCAPE_HASH_REGEX, '#'),\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (intl_messageformat_parser_1.isLiteralElement(el)) {\n var value_1 = el.value;\n if (typeof currentPluralValue === 'number') {\n value_1 = value_1.replace(PLURAL_HASH, '$1' + formatters.getNumberFormat(locales).format(currentPluralValue));\n }\n result.push({\n type: 0 /* literal */,\n value: value_1.replace(ESCAPE_HASH_REGEX, '#'),\n });\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new FormatError(\"The intl string context variable \\\"\" + varName + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\");\n }\n var value = values[varName];\n if (intl_messageformat_parser_1.isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: 1 /* argument */,\n value: value,\n });\n continue;\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 (intl_messageformat_parser_1.isDateElement(el)) {\n var style = typeof el.style === 'string' ? formats.date[el.style] : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (intl_messageformat_parser_1.isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : intl_messageformat_parser_1.isDateTimeSkeleton(el.style)\n ? intl_messageformat_parser_1.parseDateTimeSkeleton(el.style.pattern)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (intl_messageformat_parser_1.isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : intl_messageformat_parser_1.isNumberSkeleton(el.style)\n ? intl_messageformat_parser_1.convertNumberSkeletonToNumberFormatOptions(el.style.tokens)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (intl_messageformat_parser_1.isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (intl_messageformat_parser_1.isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\");\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\nexports.formatToParts = formatToParts;\nfunction formatToString(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n return parts.reduce(function (all, part) { return (all += part.value); }, '');\n}\nexports.formatToString = formatToString;\n// Singleton\nvar domParser;\nvar TOKEN_DELIMITER = '@@';\nvar TOKEN_REGEX = /@@(\\d+_\\d+)@@/g;\nvar counter = 0;\nfunction generateId() {\n return Date.now() + \"_\" + ++counter;\n}\nfunction restoreRichPlaceholderMessage(text, objectParts) {\n return text\n .split(TOKEN_REGEX)\n .filter(Boolean)\n .map(function (c) { return (objectParts[c] != null ? objectParts[c] : c); })\n .reduce(function (all, c) {\n if (!all.length) {\n all.push(c);\n }\n else if (typeof c === 'string' &&\n typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += c;\n }\n else {\n all.push(c);\n }\n return all;\n }, []);\n}\n/**\n * Not exhaustive, just for sanity check\n */\nvar SIMPLE_XML_REGEX = /(<([0-9a-zA-Z-_]*?)>(.*?)<\\/([0-9a-zA-Z-_]*?)>)|(<[0-9a-zA-Z-_]*?\\/>)/;\nvar TEMPLATE_ID = Date.now() + '@@';\nvar VOID_ELEMENTS = [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n];\nfunction formatHTMLElement(el, objectParts, values) {\n var tagName = el.tagName;\n var outerHTML = el.outerHTML, textContent = el.textContent, childNodes = el.childNodes;\n // Regular text\n if (!tagName) {\n return restoreRichPlaceholderMessage(textContent || '', objectParts);\n }\n tagName = tagName.toLowerCase();\n var isVoidElement = ~VOID_ELEMENTS.indexOf(tagName);\n var formatFnOrValue = values[tagName];\n if (formatFnOrValue && isVoidElement) {\n throw new FormatError(tagName + \" is a self-closing tag and can not be used, please use another tag name.\");\n }\n if (!childNodes.length) {\n return [outerHTML];\n }\n var chunks = Array.prototype.slice.call(childNodes).reduce(function (all, child) {\n return all.concat(formatHTMLElement(child, objectParts, values));\n }, []);\n // Legacy HTML\n if (!formatFnOrValue) {\n return __spreadArrays([\"<\" + tagName + \">\"], chunks, [\"</\" + tagName + \">\"]);\n }\n // HTML Tag replacement\n if (typeof formatFnOrValue === 'function') {\n return [formatFnOrValue.apply(void 0, chunks)];\n }\n return [formatFnOrValue];\n}\nfunction formatHTMLMessage(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n var objectParts = {};\n var formattedMessage = parts.reduce(function (all, part) {\n if (part.type === 0 /* literal */) {\n return (all += part.value);\n }\n var id = generateId();\n objectParts[id] = part.value;\n return (all += \"\" + TOKEN_DELIMITER + id + TOKEN_DELIMITER);\n }, '');\n // Not designed to filter out aggressively\n if (!SIMPLE_XML_REGEX.test(formattedMessage)) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n if (!values) {\n throw new FormatError('Message has placeholders but no values was given');\n }\n if (typeof DOMParser === 'undefined') {\n throw new FormatError('Cannot format XML message without DOMParser');\n }\n if (!domParser) {\n domParser = new DOMParser();\n }\n var content = domParser\n .parseFromString(\"<formatted-message id=\\\"\" + TEMPLATE_ID + \"\\\">\" + formattedMessage + \"</formatted-message>\", 'text/html')\n .getElementById(TEMPLATE_ID);\n if (!content) {\n throw new FormatError(\"Malformed HTML message \" + formattedMessage);\n }\n var tagsToFormat = Object.keys(values).filter(function (varName) { return !!content.getElementsByTagName(varName).length; });\n // No tags to format\n if (!tagsToFormat.length) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n var caseSensitiveTags = tagsToFormat.filter(function (tagName) { return tagName !== tagName.toLowerCase(); });\n if (caseSensitiveTags.length) {\n throw new FormatError(\"HTML tag must be lowercased but the following tags are not: \" + caseSensitiveTags.join(', '));\n }\n // We're doing this since top node is `<formatted-message/>` which does not have a formatter\n return Array.prototype.slice\n .call(content.childNodes)\n .reduce(function (all, child) { return all.concat(formatHTMLElement(child, objectParts, values)); }, []);\n}\nexports.formatHTMLMessage = formatHTMLMessage;\n","\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar intl_messageformat_parser_1 = require(\"intl-messageformat-parser\");\nvar intl_format_cache_1 = require(\"intl-format-cache\");\nvar formatters_1 = require(\"./formatters\");\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: intl_format_cache_1.default(Intl.NumberFormat, cache.number),\n getDateTimeFormat: intl_format_cache_1.default(Intl.DateTimeFormat, cache.dateTime),\n getPluralRules: intl_format_cache_1.default(Intl.PluralRules, cache.pluralRules),\n };\n}\nexports.createDefaultFormatters = createDefaultFormatters;\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n return formatters_1.formatToString(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n this.formatToParts = function (values) {\n return formatters_1.formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.formatHTMLMessage = function (values) {\n return formatters_1.formatHTMLMessage(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n normalizeHashtagInPlural: false,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n IntlMessageFormat.__parse = intl_messageformat_parser_1.parse;\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.\n IntlMessageFormat.formats = {\n number: {\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexports.IntlMessageFormat = IntlMessageFormat;\nexports.default = IntlMessageFormat;\n","\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"./core\");\n__export(require(\"./formatters\"));\n__export(require(\"./core\"));\nexports.default = core_1.default;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","\"use strict\";\n/*\nHTML escaping is the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar intl_messageformat_1 = require(\"intl-messageformat\");\nvar intl_format_cache_1 = require(\"intl-format-cache\");\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nvar invariant_ = require(\"invariant\");\nvar invariant = invariant_.default || invariant_;\nvar ESCAPED_CHARS = {\n 38: '&',\n 62: '>',\n 60: '<',\n 34: '"',\n 39: ''',\n};\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\nfunction escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) { return ESCAPED_CHARS[match.charCodeAt(0)]; });\n}\nexports.escape = escape;\nfunction filterProps(props, whitelist, defaults) {\n if (defaults === void 0) { defaults = {}; }\n return whitelist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nexports.filterProps = filterProps;\nfunction invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n '<IntlProvider> needs to exist in the component ancestry.');\n}\nexports.invariantIntlContext = invariantIntlContext;\nfunction createError(message, exception) {\n var eMsg = exception ? \"\\n\" + exception.stack : '';\n return \"[React Intl] \" + message + eMsg;\n}\nexports.createError = createError;\nfunction defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n}\nexports.defaultErrorHandler = defaultErrorHandler;\nexports.DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n textComponent: React.Fragment,\n defaultLocale: 'en',\n defaultFormats: {},\n onError: defaultErrorHandler,\n};\nfunction createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n };\n}\nexports.createIntlCache = createIntlCache;\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nfunction createFormatters(cache) {\n if (cache === void 0) { cache = createIntlCache(); }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n return {\n getDateTimeFormat: intl_format_cache_1.default(Intl.DateTimeFormat, cache.dateTime),\n getNumberFormat: intl_format_cache_1.default(Intl.NumberFormat, cache.number),\n getMessageFormat: intl_format_cache_1.default(intl_messageformat_1.default, cache.message),\n getRelativeTimeFormat: intl_format_cache_1.default(RelativeTimeFormat, cache.relativeTime),\n getPluralRules: intl_format_cache_1.default(Intl.PluralRules, cache.pluralRules),\n getListFormat: intl_format_cache_1.default(ListFormat, cache.list),\n };\n}\nexports.createFormatters = createFormatters;\nfunction getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(createError(\"No \" + type + \" format named: \" + name));\n}\nexports.getNamedFormat = getNamedFormat;\n","/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar hoistNonReactStatics_ = require(\"hoist-non-react-statics\");\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nvar hoistNonReactStatics = hoistNonReactStatics_.default || hoistNonReactStatics_;\nvar utils_1 = require(\"../utils\");\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// TODO: We should provide initial value here\nvar IntlContext = React.createContext(null);\nvar IntlConsumer = IntlContext.Consumer, IntlProvider = IntlContext.Provider;\nexports.Provider = IntlProvider;\nexports.Context = IntlContext;\nfunction injectIntl(WrappedComponent, options) {\n var _a = options || {}, _b = _a.intlPropName, intlPropName = _b === void 0 ? 'intl' : _b, _c = _a.forwardRef, forwardRef = _c === void 0 ? false : _c, _d = _a.enforceContext, enforceContext = _d === void 0 ? true : _d;\n var WithIntl = function (props) { return (React.createElement(IntlConsumer, null, function (intl) {\n var _a;\n if (enforceContext) {\n utils_1.invariantIntlContext(intl);\n }\n return (React.createElement(WrappedComponent, __assign({}, props, (_a = {},\n _a[intlPropName] = intl,\n _a), { ref: forwardRef ? props.forwardedRef : null })));\n })); };\n WithIntl.displayName = \"injectIntl(\" + getDisplayName(WrappedComponent) + \")\";\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef(function (props, ref) { return (React.createElement(WithIntl, __assign({}, props, { forwardedRef: ref }))); }), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\nexports.default = injectIntl;\n","\"use strict\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar utils_1 = require(\"../utils\");\nvar injectIntl_1 = require(\"./injectIntl\");\nvar DisplayName;\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\";\n})(DisplayName || (DisplayName = {}));\nvar DisplayNameParts;\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\nexports.FormattedNumberParts = function (props) { return (React.createElement(injectIntl_1.Context.Consumer, null, function (intl) {\n utils_1.invariantIntlContext(intl);\n var value = props.value, children = props.children, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatNumberToParts(value, formatProps));\n})); };\nexports.FormattedNumberParts.displayName = 'FormattedNumberParts';\nfunction createFormattedDateTimePartsComponent(name) {\n var ComponentParts = function (props) { return (React.createElement(injectIntl_1.Context.Consumer, null, function (intl) {\n utils_1.invariantIntlContext(intl);\n var value = props.value, children = props.children, formatProps = __rest(props, [\"value\", \"children\"]);\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n var formattedParts = name === 'formatDate'\n ? intl.formatDateToParts(date, formatProps)\n : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n })); };\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nexports.createFormattedDateTimePartsComponent = createFormattedDateTimePartsComponent;\nfunction createFormattedComponent(name) {\n var Component = function (props) { return (React.createElement(injectIntl_1.Context.Consumer, null, function (intl) {\n utils_1.invariantIntlContext(intl);\n var value = props.value, children = props.children, formatProps = __rest(props, [\"value\", \"children\"]);\n // TODO: fix TS type definition for localeMatcher upstream\n var formattedValue = intl[name](value, formatProps);\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n var Text = intl.textComponent || React.Fragment;\n return React.createElement(Text, null, formattedValue);\n })); };\n Component.displayName = DisplayName[name];\n return Component;\n}\nexports.createFormattedComponent = createFormattedComponent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar injectIntl_1 = require(\"./injectIntl\");\nvar utils_1 = require(\"../utils\");\nfunction useIntl() {\n var intl = react_1.useContext(injectIntl_1.Context);\n utils_1.invariantIntlContext(intl);\n return intl;\n}\nexports.default = useIntl;\n","\"use strict\";\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction areIntlLocalesSupported(locales, constructorsToCheck) {\n if (typeof Intl === 'undefined') {\n return false;\n }\n if (!locales) {\n throw new Error('locales must be supplied.');\n }\n if (!Array.isArray(locales)) {\n locales = [locales];\n }\n var intlConstructors = constructorsToCheck || [\n Intl.DateTimeFormat,\n Intl.NumberFormat,\n Intl.PluralRules,\n ];\n intlConstructors = intlConstructors.filter(Boolean);\n if (intlConstructors.length === 0 ||\n (constructorsToCheck &&\n intlConstructors.length !== constructorsToCheck.length)) {\n return false;\n }\n return intlConstructors.every(function (intlConstructor) {\n return intlConstructor.supportedLocalesOf(locales).length === locales.length;\n });\n}\nexports.default = areIntlLocalesSupported;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"../utils\");\nvar NUMBER_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // Unified NumberFormat (Stage 3 as of 10/22/19)\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n];\nfunction getFormatter(_a, getNumberFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = ((format &&\n utils_1.getNamedFormat(formats, 'number', format, onError)) ||\n {});\n var filteredOptions = utils_1.filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexports.getFormatter = getFormatter;\nfunction formatNumber(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(utils_1.createError('Error formatting number.', e));\n }\n return String(value);\n}\nexports.formatNumber = formatNumber;\nfunction formatNumberToParts(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(utils_1.createError('Error formatting number.', e));\n }\n return [];\n}\nexports.formatNumberToParts = formatNumberToParts;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"../utils\");\nvar RELATIVE_TIME_FORMAT_OPTIONS = [\n 'numeric',\n 'style',\n];\nfunction getFormatter(_a, getRelativeTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = (!!format && utils_1.getNamedFormat(formats, 'relative', format, onError)) || {};\n var filteredOptions = utils_1.filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nfunction formatRelativeTime(config, getRelativeTimeFormat, value, unit, options) {\n if (options === void 0) { options = {}; }\n if (!unit) {\n unit = 'second';\n }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(utils_1.createError(\"Intl.RelativeTimeFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-relativetimeformat\\\"\\n\"));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(utils_1.createError('Error formatting relative time.', e));\n }\n return String(value);\n}\nexports.formatRelativeTime = formatRelativeTime;\n","\"use strict\";\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"../utils\");\nvar DATE_TIME_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nfunction getFormatter(_a, type, getDateTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError, timeZone = _a.timeZone;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = __assign({}, (timeZone && { timeZone: timeZone }), (format && utils_1.getNamedFormat(formats, type, format, onError)));\n var filteredOptions = utils_1.filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = __assign({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexports.getFormatter = getFormatter;\nfunction formatDate(config, getDateTimeFormat, value, options) {\n if (options === void 0) { options = {}; }\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(utils_1.createError('Error formatting date.', e));\n }\n return String(date);\n}\nexports.formatDate = formatDate;\nfunction formatTime(config, getDateTimeFormat, value, options) {\n if (options === void 0) { options = {}; }\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(utils_1.createError('Error formatting time.', e));\n }\n return String(date);\n}\nexports.formatTime = formatTime;\nfunction formatDateToParts(config, getDateTimeFormat, value, options) {\n if (options === void 0) { options = {}; }\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(utils_1.createError('Error formatting date.', e));\n }\n return [];\n}\nexports.formatDateToParts = formatDateToParts;\nfunction formatTimeToParts(config, getDateTimeFormat, value, options) {\n if (options === void 0) { options = {}; }\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(utils_1.createError('Error formatting time.', e));\n }\n return [];\n}\nexports.formatTimeToParts = formatTimeToParts;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"../utils\");\nvar PLURAL_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n];\nfunction formatPlural(_a, getPluralRules, value, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n if (!Intl.PluralRules) {\n onError(utils_1.createError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\"));\n }\n var filteredOptions = utils_1.filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(utils_1.createError('Error formatting plural.', e));\n }\n return 'other';\n}\nexports.formatPlural = formatPlural;\n","\"use strict\";\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nvar invariant_ = require(\"invariant\");\nvar invariant = invariant_.default || invariant_;\nvar utils_1 = require(\"../utils\");\nvar intl_messageformat_1 = require(\"intl-messageformat\");\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce(function (all, k) {\n all[k] = __assign({ timeZone: timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n var keys = Object.keys(__assign({}, opts1, opts2));\n return keys.reduce(function (all, k) {\n all[k] = __assign({}, (opts1[k] || {}), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n var mfFormats = intl_messageformat_1.default.formats;\n return __assign({}, mfFormats, f1, { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nfunction formatMessage(_a, state, messageDescriptor, values) {\n var locale = _a.locale, formats = _a.formats, messages = _a.messages, defaultLocale = _a.defaultLocale, defaultFormats = _a.defaultFormats, onError = _a.onError, timeZone = _a.timeZone;\n if (messageDescriptor === void 0) { messageDescriptor = { id: '' }; }\n if (values === void 0) { values = {}; }\n var id = messageDescriptor.id, defaultMessage = messageDescriptor.defaultMessage;\n // `id` is a required field of a Message Descriptor.\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n if (!id) {\n throw new Error('[React Intl] An `id` must be provided to format a message.');\n }\n var message = messages && messages[id];\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n var formattedMessageParts = [];\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats, {\n formatters: state,\n });\n formattedMessageParts = formatter.formatHTMLMessage(values);\n }\n catch (e) {\n onError(utils_1.createError(\"Error formatting message: \\\"\" + id + \"\\\" for locale: \\\"\" + locale + \"\\\"\" +\n (defaultMessage ? ', using default message as fallback.' : ''), e));\n }\n }\n else {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale, and a default message is in the source.\n if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n onError(utils_1.createError(\"Missing message: \\\"\" + id + \"\\\" for locale: \\\"\" + locale + \"\\\"\" +\n (defaultMessage ? ', using default message as fallback.' : '')));\n }\n }\n if (!formattedMessageParts.length && defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n formattedMessageParts = formatter.formatHTMLMessage(values);\n }\n catch (e) {\n onError(utils_1.createError(\"Error formatting the default message for: \\\"\" + id + \"\\\"\", e));\n }\n }\n if (!formattedMessageParts.length) {\n onError(utils_1.createError(\"Cannot format message: \\\"\" + id + \"\\\", \" +\n (\"using message \" + (message || defaultMessage ? 'source' : 'id') + \" as fallback.\")));\n if (typeof message === 'string') {\n return message || defaultMessage || id;\n }\n return defaultMessage || id;\n }\n if (formattedMessageParts.length === 1 &&\n typeof formattedMessageParts[0] === 'string') {\n return formattedMessageParts[0] || defaultMessage || id;\n }\n return formattedMessageParts;\n}\nexports.formatMessage = formatMessage;\nfunction formatHTMLMessage(config, state, messageDescriptor, rawValues) {\n if (messageDescriptor === void 0) { messageDescriptor = { id: '' }; }\n if (rawValues === void 0) { rawValues = {}; }\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? utils_1.escape(value) : value;\n return escaped;\n }, {});\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\nexports.formatHTMLMessage = formatHTMLMessage;\n","'use strict';\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualObjects;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"../utils\");\nvar LIST_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n 'style',\n];\nvar now = Date.now();\nfunction generateToken(i) {\n return now + \"_\" + i + \"_\" + now;\n}\nfunction formatList(_a, getListFormat, values, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(utils_1.createError(\"Intl.ListFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-listformat\\\"\\n\"));\n }\n var filteredOptions = utils_1.filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n var richValues_1 = {};\n var serializedValues = values.map(function (v, i) {\n if (typeof v === 'object') {\n var id = generateToken(i);\n richValues_1[id] = v;\n return id;\n }\n return String(v);\n });\n if (!Object.keys(richValues_1).length) {\n return getListFormat(locale, filteredOptions).format(serializedValues);\n }\n var parts = getListFormat(locale, filteredOptions).formatToParts(serializedValues);\n return parts.reduce(function (all, el) {\n var val = el.value;\n if (richValues_1[val]) {\n all.push(richValues_1[val]);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n }\n catch (e) {\n onError(utils_1.createError('Error formatting list.', e));\n }\n return values;\n}\nexports.formatList = formatList;\n","\"use strict\";\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar injectIntl_1 = require(\"./injectIntl\");\nvar utils_1 = require(\"../utils\");\nvar intl_locales_supported_1 = require(\"intl-locales-supported\");\nvar number_1 = require(\"../formatters/number\");\nvar relativeTime_1 = require(\"../formatters/relativeTime\");\nvar dateTime_1 = require(\"../formatters/dateTime\");\nvar plural_1 = require(\"../formatters/plural\");\nvar message_1 = require(\"../formatters/message\");\nvar shallowEquals_ = require(\"shallow-equal/objects\");\nvar list_1 = require(\"../formatters/list\");\nvar shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n };\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nfunction createIntl(config, cache) {\n var formatters = utils_1.createFormatters(cache);\n var resolvedConfig = __assign({}, utils_1.DEFAULT_INTL_CONFIG, config);\n if (!resolvedConfig.locale ||\n !intl_locales_supported_1.default(resolvedConfig.locale)) {\n var locale = resolvedConfig.locale, defaultLocale = resolvedConfig.defaultLocale, onError = resolvedConfig.onError;\n if (typeof onError === 'function') {\n onError(utils_1.createError(\"Missing locale data for locale: \\\"\" + locale + \"\\\". \" +\n (\"Using default locale: \\\"\" + defaultLocale + \"\\\" as fallback.\")));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n return __assign({}, resolvedConfig, { formatters: formatters, formatNumber: number_1.formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: number_1.formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: relativeTime_1.formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: dateTime_1.formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: dateTime_1.formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: dateTime_1.formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: dateTime_1.formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: plural_1.formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: message_1.formatMessage.bind(null, resolvedConfig, formatters), formatHTMLMessage: message_1.formatHTMLMessage.bind(null, resolvedConfig, formatters), formatList: list_1.formatList.bind(null, resolvedConfig, formatters.getListFormat) });\n}\nexports.createIntl = createIntl;\nvar IntlProvider = /** @class */ (function (_super) {\n __extends(IntlProvider, _super);\n function IntlProvider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cache = utils_1.createIntlCache();\n _this.state = {\n cache: _this.cache,\n intl: createIntl(processIntlConfig(_this.props), _this.cache),\n prevConfig: processIntlConfig(_this.props),\n };\n return _this;\n }\n IntlProvider.getDerivedStateFromProps = function (props, _a) {\n var prevConfig = _a.prevConfig, cache = _a.cache;\n var config = processIntlConfig(props);\n if (!shallowEquals(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n };\n IntlProvider.prototype.render = function () {\n utils_1.invariantIntlContext(this.state.intl);\n return React.createElement(injectIntl_1.Provider, { value: this.state.intl }, this.props.children);\n };\n IntlProvider.displayName = 'IntlProvider';\n IntlProvider.defaultProps = utils_1.DEFAULT_INTL_CONFIG;\n return IntlProvider;\n}(React.PureComponent));\nexports.default = IntlProvider;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar React = require(\"react\");\nvar injectIntl_1 = require(\"./injectIntl\");\nvar utils_1 = require(\"../utils\");\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nvar invariant_ = require(\"invariant\");\nvar invariant = invariant_.default || invariant_;\nvar MINUTE = 60;\nvar HOUR = 60 * 60;\nvar DAY = 60 * 60 * 24;\nfunction selectUnit(seconds) {\n var absValue = Math.abs(seconds);\n if (absValue < MINUTE) {\n return 'second';\n }\n if (absValue < HOUR) {\n return 'minute';\n }\n if (absValue < DAY) {\n return 'hour';\n }\n return 'day';\n}\nfunction getDurationInSeconds(unit) {\n switch (unit) {\n case 'second':\n return 1;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n default:\n return DAY;\n }\n}\nfunction valueToSeconds(value, unit) {\n if (!value) {\n return 0;\n }\n switch (unit) {\n case 'second':\n return value;\n case 'minute':\n return value * MINUTE;\n default:\n return value * HOUR;\n }\n}\nvar INCREMENTABLE_UNITS = ['second', 'minute', 'hour'];\nfunction canIncrement(unit) {\n if (unit === void 0) { unit = 'second'; }\n return INCREMENTABLE_UNITS.includes(unit);\n}\nfunction verifyProps(updateIntervalInSeconds, unit) {\n invariant(!updateIntervalInSeconds || (updateIntervalInSeconds && canIncrement(unit)), 'Cannot schedule update with unit longer than hour');\n}\nvar FormattedRelativeTime = /** @class */ (function (_super) {\n __extends(FormattedRelativeTime, _super);\n function FormattedRelativeTime(props) {\n var _this = _super.call(this, props) || this;\n // Public for testing\n _this._updateTimer = null;\n _this.state = {\n prevUnit: _this.props.unit,\n prevValue: _this.props.value,\n currentValueInSeconds: canIncrement(_this.props.unit)\n ? valueToSeconds(_this.props.value, _this.props.unit)\n : 0,\n };\n verifyProps(props.updateIntervalInSeconds, props.unit);\n return _this;\n }\n FormattedRelativeTime.prototype.scheduleNextUpdate = function (_a, _b) {\n var _this = this;\n var updateIntervalInSeconds = _a.updateIntervalInSeconds, unit = _a.unit;\n var currentValueInSeconds = _b.currentValueInSeconds;\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n // If there's no interval and we cannot increment this unit, do nothing\n if (!updateIntervalInSeconds || !canIncrement(unit)) {\n return;\n }\n // Figure out the next interesting time\n var nextValueInSeconds = currentValueInSeconds - updateIntervalInSeconds;\n var nextUnit = selectUnit(nextValueInSeconds);\n // We've reached the max auto incrementable unit, don't schedule another update\n if (nextUnit === 'day') {\n return;\n }\n var unitDuration = getDurationInSeconds(nextUnit);\n var remainder = nextValueInSeconds % unitDuration;\n var prevInterestingValueInSeconds = nextValueInSeconds - remainder;\n var nextInterestingValueInSeconds = prevInterestingValueInSeconds >= currentValueInSeconds\n ? prevInterestingValueInSeconds - unitDuration\n : prevInterestingValueInSeconds;\n var delayInSeconds = Math.abs(nextInterestingValueInSeconds - currentValueInSeconds);\n this._updateTimer = setTimeout(function () {\n return _this.setState({\n currentValueInSeconds: nextInterestingValueInSeconds,\n });\n }, delayInSeconds * 1e3);\n };\n FormattedRelativeTime.prototype.componentDidMount = function () {\n this.scheduleNextUpdate(this.props, this.state);\n };\n FormattedRelativeTime.prototype.componentDidUpdate = function () {\n this.scheduleNextUpdate(this.props, this.state);\n };\n FormattedRelativeTime.prototype.componentWillUnmount = function () {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n };\n FormattedRelativeTime.getDerivedStateFromProps = function (props, state) {\n if (props.unit !== state.prevUnit || props.value !== state.prevValue) {\n return {\n prevValue: props.value,\n prevUnit: props.unit,\n currentValueInSeconds: canIncrement(props.unit)\n ? valueToSeconds(props.value, props.unit)\n : 0,\n };\n }\n return null;\n };\n FormattedRelativeTime.prototype.render = function () {\n var _this = this;\n return (React.createElement(injectIntl_1.Context.Consumer, null, function (intl) {\n utils_1.invariantIntlContext(intl);\n var formatRelativeTime = intl.formatRelativeTime, Text = intl.textComponent;\n var _a = _this.props, children = _a.children, value = _a.value, unit = _a.unit, updateIntervalInSeconds = _a.updateIntervalInSeconds;\n var currentValueInSeconds = _this.state.currentValueInSeconds;\n var currentValue = value || 0;\n var currentUnit = unit;\n if (canIncrement(unit) &&\n typeof currentValueInSeconds === 'number' &&\n updateIntervalInSeconds) {\n currentUnit = selectUnit(currentValueInSeconds);\n var unitDuration = getDurationInSeconds(currentUnit);\n currentValue = Math.round(currentValueInSeconds / unitDuration);\n }\n var formattedRelativeTime = formatRelativeTime(currentValue, currentUnit, __assign({}, _this.props));\n if (typeof children === 'function') {\n return children(formattedRelativeTime);\n }\n if (Text) {\n return React.createElement(Text, null, formattedRelativeTime);\n }\n return formattedRelativeTime;\n }));\n };\n FormattedRelativeTime.displayName = 'FormattedRelativeTime';\n FormattedRelativeTime.defaultProps = {\n value: 0,\n unit: 'second',\n };\n return FormattedRelativeTime;\n}(React.PureComponent));\nexports.FormattedRelativeTime = FormattedRelativeTime;\nexports.default = FormattedRelativeTime;\n","\"use strict\";\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar injectIntl_1 = require(\"./injectIntl\");\nvar FormattedPlural = function (props) {\n var value = props.value, other = props.other, children = props.children, _a = props.intl, formatPlural = _a.formatPlural, Text = _a.textComponent;\n var pluralCategory = formatPlural(value, props);\n var formattedPlural = props[pluralCategory] || other;\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n if (Text) {\n return React.createElement(Text, null, formattedPlural);\n }\n // Work around @types/react where React.FC cannot return string\n return formattedPlural;\n};\nFormattedPlural.defaultProps = {\n type: 'cardinal',\n};\nFormattedPlural.displayName = 'FormattedPlural';\nexports.default = injectIntl_1.default(FormattedPlural);\n","\"use strict\";\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar injectIntl_1 = require(\"./injectIntl\");\nvar message_1 = require(\"../formatters/message\");\nvar utils_1 = require(\"../utils\");\nvar shallowEquals_ = require(\"shallow-equal/objects\");\nvar shallowEquals = shallowEquals_.default || shallowEquals_;\nvar defaultFormatMessage = function (descriptor, values) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry. Using default message as fallback.');\n }\n return message_1.formatMessage(__assign({}, utils_1.DEFAULT_INTL_CONFIG, { locale: 'en' }), utils_1.createFormatters(), descriptor, values);\n};\nvar FormattedMessage = /** @class */ (function (_super) {\n __extends(FormattedMessage, _super);\n function FormattedMessage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FormattedMessage.prototype.shouldComponentUpdate = function (nextProps) {\n var _a = this.props, values = _a.values, otherProps = __rest(_a, [\"values\"]);\n var nextValues = nextProps.values, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (!shallowEquals(nextValues, values) ||\n !shallowEquals(otherProps, nextOtherProps));\n };\n FormattedMessage.prototype.render = function () {\n var _this = this;\n return (React.createElement(injectIntl_1.Context.Consumer, null, function (intl) {\n if (!_this.props.defaultMessage) {\n utils_1.invariantIntlContext(intl);\n }\n var _a = intl || {}, _b = _a.formatMessage, formatMessage = _b === void 0 ? defaultFormatMessage : _b, _c = _a.textComponent, Text = _c === void 0 ? React.Fragment : _c;\n var _d = _this.props, id = _d.id, description = _d.description, defaultMessage = _d.defaultMessage, values = _d.values, children = _d.children, _e = _d.tagName, Component = _e === void 0 ? Text : _e;\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var nodes = formatMessage(descriptor, values);\n if (!Array.isArray(nodes)) {\n nodes = [nodes];\n }\n if (typeof children === 'function') {\n return children.apply(void 0, nodes);\n }\n if (Component) {\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return React.createElement.apply(React, [Component, null].concat(nodes));\n }\n return nodes;\n }));\n };\n FormattedMessage.displayName = 'FormattedMessage';\n FormattedMessage.defaultProps = {\n values: {},\n };\n return FormattedMessage;\n}(React.Component));\nexports.default = FormattedMessage;\n","\"use strict\";\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar message_1 = require(\"./message\");\nvar injectIntl_1 = require(\"./injectIntl\");\nvar utils_1 = require(\"../utils\");\nvar FormattedHTMLMessage = /** @class */ (function (_super) {\n __extends(FormattedHTMLMessage, _super);\n function FormattedHTMLMessage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FormattedHTMLMessage.prototype.render = function () {\n var _this = this;\n return (React.createElement(injectIntl_1.Context.Consumer, null, function (intl) {\n if (!_this.props.defaultMessage) {\n utils_1.invariantIntlContext(intl);\n }\n var formatHTMLMessage = intl.formatHTMLMessage, textComponent = intl.textComponent;\n var _a = _this.props, id = _a.id, description = _a.description, defaultMessage = _a.defaultMessage, rawValues = _a.values, children = _a.children;\n var Component = _this.props.tagName;\n // This is bc of TS3.3 doesn't recognize `defaultProps`\n if (!Component) {\n Component = textComponent || 'span';\n }\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n var html = { __html: formattedHTMLMessage };\n return React.createElement(Component, { dangerouslySetInnerHTML: html });\n }));\n };\n FormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\n FormattedHTMLMessage.defaultProps = __assign({}, message_1.default.defaultProps, { tagName: 'span' });\n return FormattedHTMLMessage;\n}(message_1.default));\nexports.default = FormattedHTMLMessage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar macro_1 = require(\"@formatjs/macro\");\nexports.defineMessages = macro_1.defineMessages;\nvar createFormattedComponent_1 = require(\"./components/createFormattedComponent\");\nvar injectIntl_1 = require(\"./components/injectIntl\");\nexports.injectIntl = injectIntl_1.default;\nexports.RawIntlProvider = injectIntl_1.Provider;\nexports.IntlContext = injectIntl_1.Context;\nvar useIntl_1 = require(\"./components/useIntl\");\nexports.useIntl = useIntl_1.default;\nvar provider_1 = require(\"./components/provider\");\nexports.IntlProvider = provider_1.default;\nexports.createIntl = provider_1.createIntl;\n// IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./types').CustomFormatConfig`\nexports.FormattedDate = createFormattedComponent_1.createFormattedComponent('formatDate');\nexports.FormattedTime = createFormattedComponent_1.createFormattedComponent('formatTime');\nexports.FormattedNumber = createFormattedComponent_1.createFormattedComponent('formatNumber');\nexports.FormattedList = createFormattedComponent_1.createFormattedComponent('formatList');\nexports.FormattedDateParts = createFormattedComponent_1.createFormattedDateTimePartsComponent('formatDate');\nexports.FormattedTimeParts = createFormattedComponent_1.createFormattedDateTimePartsComponent('formatTime');\nvar createFormattedComponent_2 = require(\"./components/createFormattedComponent\");\nexports.FormattedNumberParts = createFormattedComponent_2.FormattedNumberParts;\nvar relative_1 = require(\"./components/relative\");\nexports.FormattedRelativeTime = relative_1.default;\nvar plural_1 = require(\"./components/plural\");\nexports.FormattedPlural = plural_1.default;\nvar message_1 = require(\"./components/message\");\nexports.FormattedMessage = message_1.default;\nvar html_message_1 = require(\"./components/html-message\");\nexports.FormattedHTMLMessage = html_message_1.default;\nvar utils_1 = require(\"./utils\");\nexports.createIntlCache = utils_1.createIntlCache;\n","const img = 'data:image/png;base64,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'; export default img;","const img = 'data:image/png;base64,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'; export default img;","const img = 'data:image/png;base64,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'; export default img;","const img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAMAAAAPzWOAAAAAM1BMVEVHcEwArfAAq/AArvQAq+4Aqu8Aqu8Ar/QAqu8Aq+8Aqu8ArPAAsf8Aq/AAqu8Aq/AAqu6gIIw3AAAAEHRSTlMAKoAZ9JXXD7o86WoHSaldjgJo7wAAAgBJREFUWMPtmNmShCAMRSHsIMj/f+1oCy4YsB2oeZr7SHWdJsklEgj5iDkteXwlLrVj5JCCl4AdBCozqIy/lqSJYWOH7IeiZOySXCOC2ClY6sJ7IZwRF7vliO6HaNJOq5+2ArZTS5op4dlJ7aSQ2A+J/5A/gcyq0N5xCukWhHypFgRMobyRcl3+l/gtJIizEoRdFu0jxDyWV8UBEP8M0VVBgoiXiS368SbbA0kHycQOiK5G8wKSDudknyFWCwAQQZe/tdvHg8xPZpNAj0oyD5pfvrgfyTZEztPNE9SFDcRVzSQXSFC4tya/+ry1kQOSf6UYZbcdUWCNjeyQ8AG4YFN6wavntlhArFqP6vW7rO85Ms1WsJjA3A3ARXkcfeBViF32gV//tC8bwawrEEHqlx3pyqgYSAziWw2Q03uC6YWzQZpXN4/758Qh6ZTDYxtBOfo7iNvv7oA5R81CJgit5iQzmFwrzvDOTbJN0OrwnI90d+eBophseswneYQ43/+1r0GW8twdy2E6xdIyDjnOHwtXy+8JuOEtMAyyJXAvvQ3zUQrUQsEgEJ4XmfHm/D+sdh7OjXDfPmqqqTUdHlHFRn9U8DTZpajOubwEOuG9A42qWBLOG2r8LPTXE5kVpHt6W+9Tsh8ix4xvQwbJISPtkOF6zJg/5MFhzNPHmEeY7uegH1eE2uqiaqwMAAAAAElFTkSuQmCC'; export default img;","const img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAAA+CAMAAAChgZ0aAAAAM1BMVEVHcEwJvAcNvwoKvQgcxxwKvAgJvAcJvAcKvAgMwQsKvAcJvAcJvAgLvQkJvAgJvAcJuwemYXQzAAAAEHRSTlMA4SZICXfR91wV7YrANpyxIG3ToQAAAgRJREFUWMOlWFmigyAMJKwB2e5/2qdWXys7mE+1Y8hMxqSEVEMz4a0Eo5QBab1glMwGRw8xC/CoZzCCirWwyIdA9GZiM8ymB0BU7IbqAaGJQ6FEKxUfh0O6GgqDOBOVhLY4Gb7AGQ9xOmRWaW5jfI+zksuJ8zyXX0OJwH5RxBqIxUcuTq2AhEQ5XM5jqO22Dc2XjwTipoiLuy+0maXnWxLcha/0inrDlxz3Edt2pjWTjPI0b2RzVAdXSnJU9Pv645BhvCQ/kmW/7Nr9TIlmUKheSQihybs5Yckr92dksyT7mzOjZZloaM6dEbpjtCIrjT+ZhEpJ9lslyQeSXv2ISd/olo24tSRQsdgj9WdJTuVXlECyG+Y6A2cs8TasWr4h+TUsOz5t2KwippDh9CfMEBhKR7QbD0ghVZt9B3u+Zotm/nRH2u86X2zw0FR+LJXBlS7TAZKT56GYZEP5schtyUOvjhj9CB4uWjxVaCi/UoOiOiGMDzsfgbD4Mi4TsO9QbrW6dzB0eVxLaVqfBUoNSM0qinn44ypbKplx8BXX73AUK8zo05ObKc77DiY5qmx7eob3xg5DJwa3xuLJx1NpbYqDzdVb7oYmWyl6q+a/Y4CtsCY311+cL+UAnsv8Zh9KUtLj0ELPrpN/y6cdQxRCILrxPf60nTD/F0JeGsnI6xAg+OJP/wCiDbP03htrDwAAAABJRU5ErkJggg=='; export default img;","const img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAABGCAMAAACnmwfnAAAAb1BMVEVHcEwSOoYNeb4ROoUAnuMAneIAnuMROoUAneMSU5wUO4gROoUROoYROYUROYUAoOUAnuMSOoYRO4YAnuMROoUAoOUNUpwEh88Ja7QAnuQAnuQROYQAneIXLHAUM3sVL3USNn8NWqEIdLsRRYwEh8yuGf8EAAAAG3RSTlMAVQvuy+eo5PkXKW/Rr4goeETDiZ43us7AS166//BKAAAB4UlEQVRYw6WW25qCMAyEEVoOAitycBdboYrv/4yru4oS0pDK3P9f0gkZ4nmjNmWEK8vK+ivd+55dG7WkLE1scKQYqnF8q1gKNhi8V0ylCJxyYYXUrtlwsJ3BJRtW+QwO+LCCpRMHVtWfmn1X9LHZSN9fTjCYVr4GjlbAvloBz9bCdKiMMXPD4DJ3J7v6TiWk2SdSfVwldrMNDSutZfOCM37XN5211nE7wsoJvtxgLROL2T39ZP2n0LIWNDz8w3GCrwWj65sKNIMMp+ux79LFr/MTFmgGdazCWqIZ1LMKP2AXs40GsIPZ/fUFC2wtDGNM9zmHjmvxevA454hr9oTVLZZBNr/6y4TVO4e1UNcpK9AMwkcEyj6fvJxB/TBDH10jZvejOqOG81UjEmgGmUFz1KIZFLBYgWfQDwtu8Az65rAF/msOYgYbWu6gjPNg33IHHRh1fdsddGC/F8mgJbPDHXEHkWbLCTrPIDkj4rukFGHVwNMPrEUEySN14YO1KAFceZQi2uwdxfq02ZIsvKXNFiQMMshMzY5DEl4wuyDhnF6LloSzFWaDtTDA7NhzgN3MBobl0pIYtq8keZPv9HECNQA+usBHPGB5qgDsu8Chy1pAiemUxQrYzWyviN8l6I/T+wU2HDmgaaHs/gAAAABJRU5ErkJggg=='; export default img;","import React, { PureComponent } from \"react\";\nimport classnames from \"classnames\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport iconAlipay from \"../assets/kcxq_popovers_icon_alipay@2x.png\";\nimport iconWechatpay from \"../assets/kcxq_popovers_icon_wechatpay@2x.png\";\nimport iconPaypal from \"../assets/kcxq_popovers_icon_paypal@2x.png\";\nimport mobileIconAlipay from \"../assets/payment_btn_pay_alipay@2x.png\";\nimport mobileIconWechatpay from \"../assets/payment_btn_pay_wechatpay@2x.png\";\nimport mobileIconPaypal from \"../assets/payment_btn_pay_paypal@2x.png\";\n\nimport styles from \"./PayPlatformOptions.less\";\n\ntype PAY_CHANNEL_VALUE =\n | \"PAYPAL_PAYPAL\"\n | \"ALI_WEB\"\n | \"ALI_WAP\"\n | \"WX_WAP\"\n | \"WX_NATIVE\";\ntype PAY_CHANNEL_TYPE = {\n PAYPAL: PAY_CHANNEL_VALUE;\n ALI_WEB: PAY_CHANNEL_VALUE;\n ALI_WAP: PAY_CHANNEL_VALUE;\n WX_WAP: PAY_CHANNEL_VALUE;\n WX_NATIVE: PAY_CHANNEL_VALUE;\n};\n\ntype Props = {\n payitem: PAY_CHANNEL_VALUE;\n onPayItemChange: (value: PAY_CHANNEL_VALUE) => void;\n isMobile: boolean;\n size: \"small\" | \"normal\" | \"large\";\n withTitle: boolean;\n locale: \"zh\" | \"en\";\n};\n\nexport const PAY_CHANNEL: PAY_CHANNEL_TYPE = {\n PAYPAL: \"PAYPAL_PAYPAL\", // PAYPAL_LIVE\n ALI_WEB: \"ALI_WEB\",\n ALI_WAP: \"ALI_WAP\",\n WX_WAP: \"WX_WAP\",\n WX_NATIVE: \"WX_NATIVE\"\n};\n\nclass PayPlatformOptions extends PureComponent<Props, {}> {\n render() {\n const {\n payitem,\n onPayItemChange,\n isMobile = false,\n size = \"normal\",\n withTitle = true,\n locale = \"zh\"\n } = this.props;\n\n let titleDOM = null;\n if (withTitle) {\n titleDOM = (\n <div className={styles.label}>\n <FormattedMessage id=\"pay.channel.select.text\" />\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <div>\n {titleDOM}\n <div\n className={classnames(styles[\"payment-method-box\"], {\n [styles.mobile]: isMobile\n })}\n >\n <div className={styles.flexContainer}>\n <div className={styles.flexItem}>\n <div\n className={classnames(\n {\n [styles.payitem]: true,\n [styles.active]: payitem === PAY_CHANNEL.ALI_WEB,\n [styles.small]: size === \"small\"\n },\n styles[locale]\n )}\n onClick={() => {\n onPayItemChange(PAY_CHANNEL.ALI_WEB);\n }}\n >\n <img\n src={mobileIconAlipay}\n alt=\"alipay\"\n className={styles[\"payment-method\"]}\n />\n <div className={styles.platformName}>\n <FormattedMessage id=\"pay.channel.ali\" />\n </div>\n </div>\n </div>\n <div className={styles.flexItem}>\n <div\n className={classnames(\n {\n [styles.payitem]: true,\n [styles.active]: payitem === PAY_CHANNEL.WX_NATIVE,\n [styles.small]: size === \"small\"\n },\n styles[locale]\n )}\n onClick={() => {\n onPayItemChange(PAY_CHANNEL.WX_NATIVE);\n }}\n >\n <img\n src={mobileIconWechatpay}\n alt=\"wechatpay\"\n className={styles[\"payment-method\"]}\n />\n <div className={styles.platformName}>\n <FormattedMessage id=\"pay.channel.wechat\" />\n </div>\n </div>\n </div>\n <div className={styles.flexItem}>\n <div\n className={classnames(\n {\n [styles.payitem]: true,\n [styles.active]: payitem === PAY_CHANNEL.PAYPAL,\n [styles.small]: size === \"small\"\n },\n styles[locale]\n )}\n onClick={() => {\n onPayItemChange(PAY_CHANNEL.PAYPAL);\n }}\n >\n <img\n src={mobileIconPaypal}\n alt=\"paypal\"\n className={styles[\"payment-method\"]}\n />\n <div className={styles.platformName}>\n <FormattedMessage id=\"pay.channel.paypal\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div>\n {titleDOM}\n <div className={styles[\"payment-method-box\"]}>\n <div className={styles.flexContainer}>\n <div className={styles.flexItem}>\n <div\n className={classnames(\n {\n [styles.payitem]: true,\n [styles.active]: payitem === PAY_CHANNEL.ALI_WEB,\n [styles.small]: size === \"small\"\n },\n styles[locale]\n )}\n onClick={() => {\n onPayItemChange(PAY_CHANNEL.ALI_WEB);\n }}\n >\n <span className={styles[\"payment-method-before\"]} />\n <img\n src={iconAlipay}\n alt=\"alipay\"\n className={styles[\"payment-method\"]}\n />\n </div>\n </div>\n <div className={styles.flexItem}>\n <div\n className={classnames(\n {\n [styles.payitem]: true,\n [styles.active]: payitem === PAY_CHANNEL.WX_NATIVE,\n [styles.small]: size === \"small\"\n },\n styles[locale]\n )}\n onClick={() => {\n onPayItemChange(PAY_CHANNEL.WX_NATIVE);\n }}\n >\n <span className={styles[\"payment-method-before\"]} />\n <img\n src={iconWechatpay}\n alt=\"wechatpay\"\n className={styles[\"payment-method\"]}\n />\n </div>\n </div>\n <div className={styles.flexItem}>\n <div\n className={classnames(\n {\n [styles.payitem]: true,\n [styles.active]: payitem === PAY_CHANNEL.PAYPAL,\n [styles.small]: size === \"small\"\n },\n styles[locale]\n )}\n onClick={() => {\n onPayItemChange(PAY_CHANNEL.PAYPAL);\n }}\n >\n <span className={styles[\"payment-method-before\"]} />\n <img\n src={iconPaypal}\n alt=\"paypal\"\n className={styles[\"payment-method\"]}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PayPlatformOptions;\n","import React, { useState } from 'react';\nimport { Input } from 'antd';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport classnames from 'classnames';\nimport { formatMoney } from '../../Utils/utils';\n\nimport styles from './PriceOptions.less';\n\ntype Props = {\n price: number;\n onPriceChange: (v: number) => void;\n size: \"small\" | \"normal\" | \"large\";\n focusScroll: boolean;\n withTitle: boolean;\n inputRef: React.RefObject<Input>;\n}\n\nconst PriceOptions = ({\n price,\n onPriceChange,\n size = 'normal',\n focusScroll = true,\n withTitle = true,\n inputRef,\n}: Props) => {\n const intl = useIntl();\n const defaultOptions = [100, 600, 800];\n // 控制是否为其他金额输入情况\n const [inputStatus, setInputStatus] = useState(false);\n\n return (\n <div\n className={classnames(styles.options, {\n [styles[size]]: true,\n })}\n >\n {withTitle ? <p><FormattedMessage id=\"pay.price.select.text\" /></p> : null}\n <div className={styles.infoItem} style={{ marginBottom: '-12px' }}>\n <span className={styles.priceBtn}>\n {defaultOptions.map(item => (\n <span\n className={classnames({\n [styles.priceItem]: true,\n [styles.active]: price === item && !inputStatus,\n })}\n key={item}\n onClick={() => {\n onPriceChange(item);\n setInputStatus(false);\n }}\n >\n <FormattedMessage\n id=\"pay.price.money.text\"\n values={{\n value: formatMoney(item / 100, 0)\n }}\n />\n </span>\n ))}\n </span>\n <Input\n ref={inputRef}\n onMouseEnter={() => {\n if (inputStatus && inputRef && inputRef.current) {\n inputRef.current.focus();\n inputRef.current.select();\n }\n }}\n suffix=\"¥\"\n className={styles.priceInput}\n value={inputStatus ? (price / 100 || '') : ''}\n placeholder={intl.formatMessage({ id: 'pay.price.money.others' })}\n onChange={e => { \n const n = +e.target.value;\n if (Number.isNaN(n)) {\n return;\n }\n // 测试暂时改成1分\n onPriceChange(n * 100);\n }}\n onClick={e => {\n onPriceChange(0);\n setInputStatus(true);\n }}\n onFocus={e => {\n if (focusScroll) {\n e.target.scrollIntoView();\n }\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default PriceOptions;\n","const img = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDhweCIgaGVpZ2h0PSI0M3B4IiB2aWV3Qm94PSIwIDAgNDggNDMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5rY3hxX3BvcG92ZXJzX2ljb25fdGFuaGFvPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IuWPpuWuoue9kV/nm7Tmkq3or75f6K++56iL5LuL57uN6K+m5oOFX+i0reS5sOaPkOekuuW8ueeqlyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTkzNi4wMDAwMDAsIC0xOTAuMDAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2OTAuMDAwMDAwLCAxMTAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ia2N4cV9wb3BvdmVyc19pY29uX3RhbmhhbyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ2LjAwMDAwMCwgODAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ4LDIxLjUgQzQ4LDMzLjM3MzY2MjYgMzguMzY0NTc1Niw0MyAyNi40Nzk3MDQ4LDQzIEMyMS4xMzA2MjczLDQzIDE3LjAzOTExNDQsNDIuMTUwNjE3MyAxMy4yODQxMzI4LDM4LjkzMDA0MTIgQzExLjgxNDAyMjEsMzcuNjczNjYyNiAxLjcwMDM2OSw0My4yMTIzNDU3IDAuMTc3MTIxNzcxLDM5LjI4Mzk1MDYgQy0xLjA2MjczMDYzLDM2LjA5ODc2NTQgNS45NTEyOTE1MSwyOS4yNTA2MTczIDUuMzEzNjUzMTQsMjcuMDc0MDc0MSBDNC43NjQ1NzU2NSwyNS4xODA2NTg0IDQuOTU5NDA5NTksMjMuNTcwMzcwNCA0Ljk1OTQwOTU5LDIxLjUgQzQuOTU5NDA5NTksOS42MjYzMzc0NSAxNC41OTQ4MzM5LDAgMjYuNDc5NzA0OCwwIEMzOC4zNjQ1NzU2LDAgNDgsOS42MjYzMzc0NSA0OCwyMS41IFoiIGlkPSJTaGFwZSIgZmlsbD0iIzE3OTBGRiI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjMuODQ4NzA4LCA4LjE5MzQxNikiIGZpbGw9IiNGRkZGRkYiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMi41LDI3LjQ5NzEwOTggQzEuMTMyMzUyOTQsMjcuNDk3MTA5OCAwLDI2LjM3OTQ2MjggMCwyNC45OTcxMDk4IEMwLDIzLjYxNDc1NjkgMS4xMzIzNTI5NCwyMi40OTcxMDk4IDIuNSwyMi40OTcxMDk4IEMzLjg2NzY0NzA2LDIyLjQ5NzEwOTggNSwyMy42MTQ3NTY5IDUsMjQuOTk3MTA5OCBDNSwyNi4zNzk0NjI4IDMuODY3NjQ3MDYsMjcuNDk3MTA5OCAyLjUsMjcuNDk3MTA5OCBaIE0yLjUsMTkuNDIxOTY1MyBDMS4xMzIzNTI5NCwxOS40MjE5NjUzIDAsMTguMTkxOTA3NSAwLDE2LjY3MDUyMDIgTDAsMi43NTE0NDUwOSBDMCwxLjI0NjI0Mjc3IDEuMTMyMzUyOTQsMCAyLjUsMCBDMy44Njc2NDcwNiwwIDUsMS4yMzAwNTc4IDUsMi43NTE0NDUwOSBMNSwxNi42NzA1MjAyIEM1LDE4LjE5MTkwNzUgMy44Njc2NDcwNiwxOS40MjE5NjUzIDIuNSwxOS40MjE5NjUzIFoiIGlkPSJTaGFwZSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+'; export default img;","import React, { Component } from 'react';\nimport { Button } from 'antd';\nimport classnames from 'classnames';\nimport styles from './WaitPayInfoView.less';\n\nimport infoIconImg from '../assets/icon-info-blue@2x.svg';\n\ntype Props = {\n onClickPayed?: Function;\n onClickProblem?: Function;\n}\n\nexport class WaitPayInfoView extends Component<Props, {}> {\n static defaultProps = {\n onClickPayed: () => { console.log(\"onClickPayed\"); },\n onClickProblem: () => { console.log(\"onClickProblem\"); }\n }\n\n render() {\n const { onClickPayed, onClickProblem } = this.props;\n\n return (\n <div className={styles.waitingContainer}>\n <div className={styles.infoIconImgContainer}>\n <img src={infoIconImg} alt=\"info label icon\" />\n </div>\n <div>\n <div className={styles.pay_text}>\n {\"live.course_info.pay.notification\"}\n </div>\n <div className={styles.btn_row}>\n <Button\n className={classnames(styles.pay_btn, styles.btn_default)}\n size=\"small\"\n onClick={() => { onClickPayed && onClickPayed() }}\n >\n {\"live.course_info.pay.payed\"}\n </Button>\n <Button\n className={styles.btn_default}\n size=\"small\"\n style={{\n marginLeft: '16px',\n }}\n onClick={() => { onClickProblem && onClickProblem() }}\n >\n {\"live.course_info.pay.help\"}\n </Button>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default WaitPayInfoView;"],"names":["IMAGE_PROCESS","IMAGE_PROCESS_SMALL","IMAGE_PROCESS_LARGE","addImageProcess","url","options","width","height","indexOf","small","large","custom","formatMoney","input","fuzz","isNaN","toFixed","DEFAULT_AVATAR","ConsumeListView","props","dataSource","isToggle","showLength","listLength","kingdomWidth","kingdomHeight","kingdomPosition","avatarSize","avatarMarginLeftAndRight","renderData","slice","map","v","i","kingdom","styles","kingdomIcon","KingDomPic","left","top","id","consumeItem","margin","avatar","backgroundImage","user_avatar","gray","onToggleChange","classnames","toggle","expand","lineHeight","wrapper","consumelist","renderConsumeItem","renderToggleButton","Component","this","types_1","parser_1","require$$0","require$$1","normalize_1","intl_messageformat_parser_1","intl_format_cache_1","formatters_1","core_1","invariant_","intl_messageformat_1","hoistNonReactStatics_","utils_1","react_1","shallowEquals_","intl_locales_supported_1","number_1","relativeTime_1","dateTime_1","plural_1","message_1","list_1","macro_1","provider_1","relative_1","html_message_1","img","PAY_CHANNEL","PAYPAL","ALI_WEB","ALI_WAP","WX_WAP","WX_NATIVE","PayPlatformOptions","payitem","onPayItemChange","isMobile","size","withTitle","locale","titleDOM","label","FormattedMessage","mobile","flexContainer","flexItem","active","mobileIconAlipay","platformName","mobileIconWechatpay","mobileIconPaypal","iconAlipay","iconWechatpay","iconPaypal","PureComponent","PriceOptions","price","onPriceChange","focusScroll","inputRef","intl","useIntl","defaultOptions","useState","inputStatus","setInputStatus","infoItem","marginBottom","priceBtn","item","priceItem","value","current","focus","select","priceInput","formatMessage","e","n","target","Number","scrollIntoView","WaitPayInfoView","onClickPayed","onClickProblem","waitingContainer","infoIconImgContainer","infoIconImg","pay_text","btn_row","pay_btn","btn_default","marginLeft","console","log"],"mappings":"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"}
|