{"version":3,"file":"static/js/main.a13a66a1.js","mappings":"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","sources":["actions/entities.js","actions/errors.js","actions/sync-modules.js","actions/sync-queue.js","actions/sync-requests.js","config.js","middleware/sync/authorization.js","middleware/sync/serverRequest.js","middleware/sync/index.js","middleware/sync/schema.js","services/quarter.js","services/utils.js","store/configureStore.js","../node_modules/redux-thunk/es/index.js","reducers/entities.js","reducers/index.js","reducers/errors.js","reducers/sync.js","reducers/user.js","store/configureStore.prod.js","../node_modules/@hypnosphi/create-react-context/lib/implementation.js","../node_modules/@hypnosphi/create-react-context/lib/index.js","../node_modules/add-dom-event-listener/lib/EventBaseObject.js","../node_modules/add-dom-event-listener/lib/EventObject.js","../node_modules/add-dom-event-listener/lib/index.js","../node_modules/babel-runtime/core-js/array/from.js","../node_modules/babel-runtime/core-js/object/assign.js","../node_modules/babel-runtime/core-js/object/create.js","../node_modules/babel-runtime/core-js/object/define-property.js","../node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js","../node_modules/babel-runtime/core-js/object/get-prototype-of.js","../node_modules/babel-runtime/core-js/object/set-prototype-of.js","../node_modules/babel-runtime/core-js/symbol.js","../node_modules/babel-runtime/core-js/symbol/iterator.js","../node_modules/babel-runtime/helpers/classCallCheck.js","../node_modules/babel-runtime/helpers/createClass.js","../node_modules/babel-runtime/helpers/defineProperty.js","../node_modules/babel-runtime/helpers/extends.js","../node_modules/babel-runtime/helpers/get.js","../node_modules/babel-runtime/helpers/inherits.js","../node_modules/babel-runtime/helpers/objectWithoutProperties.js","../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../node_modules/babel-runtime/helpers/toConsumableArray.js","../node_modules/babel-runtime/helpers/typeof.js","../node_modules/call-bind/callBound.js","../node_modules/call-bind/index.js","../node_modules/classnames/index.js","../node_modules/component-classes/index.js","../node_modules/component-indexof/index.js","../node_modules/core-js/library/fn/array/from.js","../node_modules/core-js/library/fn/object/assign.js","../node_modules/core-js/library/fn/object/create.js","../node_modules/core-js/library/fn/object/define-property.js","../node_modules/core-js/library/fn/object/get-own-property-descriptor.js","../node_modules/core-js/library/fn/object/get-prototype-of.js","../node_modules/core-js/library/fn/object/set-prototype-of.js","../node_modules/core-js/library/fn/symbol/index.js","../node_modules/core-js/library/fn/symbol/iterator.js","../node_modules/core-js/library/modules/_a-function.js","../node_modules/core-js/library/modules/_add-to-unscopables.js","../node_modules/core-js/library/modules/_an-object.js","../node_modules/core-js/library/modules/_array-includes.js","../node_modules/core-js/library/modules/_classof.js","../node_modules/core-js/library/modules/_cof.js","../node_modules/core-js/library/modules/_core.js","../node_modules/core-js/library/modules/_create-property.js","../node_modules/core-js/library/modules/_ctx.js","../node_modules/core-js/library/modules/_defined.js","../node_modules/core-js/library/modules/_descriptors.js","../node_modules/core-js/library/modules/_dom-create.js","../node_modules/core-js/library/modules/_enum-bug-keys.js","../node_modules/core-js/library/modules/_enum-keys.js","../node_modules/core-js/library/modules/_export.js","../node_modules/core-js/library/modules/_fails.js","../node_modules/core-js/library/modules/_global.js","../node_modules/core-js/library/modules/_has.js","../node_modules/core-js/library/modules/_hide.js","../node_modules/core-js/library/modules/_html.js","../node_modules/core-js/library/modules/_ie8-dom-define.js","../node_modules/core-js/library/modules/_iobject.js","../node_modules/core-js/library/modules/_is-array-iter.js","../node_modules/core-js/library/modules/_is-array.js","../node_modules/core-js/library/modules/_is-object.js","../node_modules/core-js/library/modules/_iter-call.js","../node_modules/core-js/library/modules/_iter-create.js","../node_modules/core-js/library/modules/_iter-define.js","../node_modules/core-js/library/modules/_iter-detect.js","../node_modules/core-js/library/modules/_iter-step.js","../node_modules/core-js/library/modules/_iterators.js","../node_modules/core-js/library/modules/_library.js","../node_modules/core-js/library/modules/_meta.js","../node_modules/core-js/library/modules/_object-assign.js","../node_modules/core-js/library/modules/_object-create.js","../node_modules/core-js/library/modules/_object-dp.js","../node_modules/core-js/library/modules/_object-dps.js","../node_modules/core-js/library/modules/_object-gopd.js","../node_modules/core-js/library/modules/_object-gopn-ext.js","../node_modules/core-js/library/modules/_object-gopn.js","../node_modules/core-js/library/modules/_object-gops.js","../node_modules/core-js/library/modules/_object-gpo.js","../node_modules/core-js/library/modules/_object-keys-internal.js","../node_modules/core-js/library/modules/_object-keys.js","../node_modules/core-js/library/modules/_object-pie.js","../node_modules/core-js/library/modules/_object-sap.js","../node_modules/core-js/library/modules/_property-desc.js","../node_modules/core-js/library/modules/_redefine.js","../node_modules/core-js/library/modules/_set-proto.js","../node_modules/core-js/library/modules/_set-to-string-tag.js","../node_modules/core-js/library/modules/_shared-key.js","../node_modules/core-js/library/modules/_shared.js","../node_modules/core-js/library/modules/_string-at.js","../node_modules/core-js/library/modules/_to-absolute-index.js","../node_modules/core-js/library/modules/_to-integer.js","../node_modules/core-js/library/modules/_to-iobject.js","../node_modules/core-js/library/modules/_to-length.js","../node_modules/core-js/library/modules/_to-object.js","../node_modules/core-js/library/modules/_to-primitive.js","../node_modules/core-js/library/modules/_uid.js","../node_modules/core-js/library/modules/_wks-define.js","../node_modules/core-js/library/modules/_wks-ext.js","../node_modules/core-js/library/modules/_wks.js","../node_modules/core-js/library/modules/core.get-iterator-method.js","../node_modules/core-js/library/modules/es6.array.from.js","../node_modules/core-js/library/modules/es6.array.iterator.js","../node_modules/core-js/library/modules/es6.object.assign.js","../node_modules/core-js/library/modules/es6.object.create.js","../node_modules/core-js/library/modules/es6.object.define-property.js","../node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js","../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../node_modules/core-js/library/modules/es6.string.iterator.js","../node_modules/core-js/library/modules/es6.symbol.js","../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../node_modules/core-js/library/modules/es7.symbol.observable.js","../node_modules/core-js/library/modules/web.dom.iterable.js","../node_modules/deep-equal/index.js","../node_modules/define-properties/index.js","../node_modules/exenv/index.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/functions-have-names/index.js","../node_modules/get-intrinsic/index.js","../node_modules/gud/index.js","../node_modules/has-property-descriptors/index.js","../node_modules/has-symbols/index.js","../node_modules/has-symbols/shams.js","../node_modules/has-tostringtag/shams.js","../node_modules/has/src/index.js","../node_modules/humps/humps.js","../node_modules/i18next-intervalplural-postprocessor/dist/commonjs/index.js","../node_modules/i18next-intervalplural-postprocessor/index.js","../node_modules/immutability-helper/index.js","../node_modules/invariant/browser.js","../node_modules/is-arguments/index.js","../node_modules/is-date-object/index.js","../node_modules/is-regex/index.js","../node_modules/isarray/index.js","../node_modules/loadjs/dist/loadjs.umd.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_assignMergeValue.js","../node_modules/lodash/_assignValue.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/_baseMerge.js","../node_modules/lodash/_baseMergeDeep.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_cloneArrayBuffer.js","../node_modules/lodash/_cloneBuffer.js","../node_modules/lodash/_cloneTypedArray.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_copyObject.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_createAssigner.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_initCloneObject.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_root.js","../node_modules/lodash/_safeGet.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/constant.js","../node_modules/lodash/eq.js","../node_modules/lodash/identity.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isArrayLikeObject.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isPlainObject.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keysIn.js","../node_modules/lodash/mergeWith.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/toPlainObject.js","../node_modules/moment/locale/cs.js","../node_modules/moment/moment.js","../node_modules/normalizr/dist/normalizr.es.js","../node_modules/object-assign/index.js","../node_modules/object-is/implementation.js","../node_modules/object-is/index.js","../node_modules/object-is/polyfill.js","../node_modules/object-is/shim.js","../node_modules/object-keys/implementation.js","../node_modules/object-keys/index.js","../node_modules/object-keys/isArguments.js","../node_modules/path-to-regexp/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-google-charts/src/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-modal/lib/components/Modal.js","../node_modules/react-modal/lib/components/ModalPortal.js","../node_modules/react-modal/lib/helpers/ariaAppHider.js","../node_modules/react-modal/lib/helpers/bodyTrap.js","../node_modules/react-modal/lib/helpers/classList.js","../node_modules/react-modal/lib/helpers/focusManager.js","../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../node_modules/react-modal/lib/helpers/scopeTab.js","../node_modules/react-modal/lib/helpers/tabbable.js","../node_modules/react-modal/lib/index.js","../node_modules/react-redux/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/react-router/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/react-tooltip-lite/dist/Portal.js","../node_modules/react-tooltip-lite/dist/functions.js","../node_modules/react-tooltip-lite/dist/getDirection.js","../node_modules/react-tooltip-lite/dist/index.js","../node_modules/react-tooltip-lite/dist/position.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/redux/es/createStore.js","../node_modules/redux/es/combineReducers.js","../node_modules/redux/es/bindActionCreators.js","../node_modules/redux/es/compose.js","../node_modules/redux/es/applyMiddleware.js","../node_modules/regexp.prototype.flags/implementation.js","../node_modules/regexp.prototype.flags/index.js","../node_modules/regexp.prototype.flags/polyfill.js","../node_modules/regexp.prototype.flags/shim.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/symbol-observable/es/index.js","../node_modules/symbol-observable/es/ponyfill.js","../node_modules/void-elements/index.js","../node_modules/warning/warning.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/harmony module decorator","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/history/esm/history.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-router/modules/createNamedContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/Prompt.js","../node_modules/react-router/modules/generatePath.js","../node_modules/react-router/modules/Redirect.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/withRouter.js","../node_modules/react-router/modules/hooks.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/react-redux/es/utils/PropTypes.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/connect.js","components/Loader.js","../node_modules/rc-slider/es/common/Track.js","../node_modules/rc-util/es/Dom/addEventListener.js","../node_modules/rc-slider/es/common/Steps.js","../node_modules/rc-slider/es/common/Marks.js","../node_modules/rc-slider/es/Handle.js","../node_modules/rc-util/es/KeyCode.js","../node_modules/rc-slider/es/utils.js","../node_modules/rc-slider/es/common/createSlider.js","../node_modules/rc-slider/es/Slider.js","../node_modules/rc-slider/es/Range.js","../node_modules/rc-util/es/Dom/contains.js","../node_modules/rc-util/es/ContainerRender.js","../node_modules/rc-util/es/Portal.js","../node_modules/src/propertyUtils.js","../node_modules/rc-trigger/es/utils.js","../node_modules/src/utils.js","../node_modules/src/getOffsetParent.js","../node_modules/src/isAncestorFixed.js","../node_modules/src/getVisibleRectForElement.js","../node_modules/src/getRegion.js","../node_modules/src/getAlignOffset.js","../node_modules/src/getElFuturePos.js","../node_modules/src/align/align.js","../node_modules/src/adjustForViewport.js","../node_modules/src/align/alignElement.js","../node_modules/rc-align/es/util.js","../node_modules/rc-align/es/Align.js","../node_modules/src/align/alignPoint.js","../node_modules/rc-align/es/index.js","../node_modules/rc-util/es/unsafeLifecyclesPolyfill.js","../node_modules/rc-animate/es/ChildrenUtils.js","../node_modules/css-animation/es/Event.js","../node_modules/css-animation/es/index.js","../node_modules/rc-animate/es/util/animate.js","../node_modules/rc-animate/es/AnimateChild.js","../node_modules/rc-animate/es/Animate.js","../node_modules/rc-trigger/es/LazyRenderBox.js","../node_modules/rc-trigger/es/PopupInner.js","../node_modules/rc-trigger/es/Popup.js","../node_modules/rc-trigger/es/index.js","../node_modules/rc-tooltip/es/placements.js","../node_modules/rc-tooltip/es/Content.js","../node_modules/rc-tooltip/es/Tooltip.js","../node_modules/rc-tooltip/es/index.js","../node_modules/rc-slider/es/index.js","../node_modules/rc-slider/es/createSliderWithTooltip.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/useTranslation.js","../node_modules/react-i18next/dist/es/withTranslation.js","components/SliderWithField.js","components/LastChange.js","containers/pages/Student/Sells/SellsOfGood.js","containers/pages/Student/Sells/Sells.js","containers/pages/Student/Production/Production.js","components/MenuItem.js","components/ProgressBar.js","components/RemainingTimeProgressBar.js","containers/MenuFooter.js","containers/Menu.js","../node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","containers/UserButton.js","components/SavingIndicator.js","../node_modules/country-flag-icons/source/react/3x2/index.js","../node_modules/@babel/runtime/helpers/esm/objectSpread.js","../node_modules/i18next/dist/esm/i18next.js","containers/LanguageOptions.js","containers/Navbar.js","services/errors.js","containers/Errors.js","containers/Main.js","actions/sync-changes-tracking.js","containers/Layout.js","components/TwoLineDashboardBox.js","components/LargeNumberDashboardBox.js","components/StockChart.js","components/NumberField.js","components/FileUpload.js","containers/pages/Student/Dashboard/InvestLoanRequirement.js","containers/pages/Student/Dashboard/CashFlow.js","containers/pages/Student/Dashboard/InvestLoanExtraRepayment.js","containers/pages/Student/Dashboard/Dashboard.js","containers/pages/Login/Login.js","routes/PrivateSection.js","containers/pages/Homepage/Homepage.js","components/SummariesTable.js","containers/pages/Student/Summaries/Summaries.js","containers/pages/Student/MaterialPurchase/MaterialPurchaseRequirement.js","containers/pages/Student/MaterialPurchase/MaterialPurchaseTable.js","containers/pages/Student/MaterialPurchase/MaterialPurchase.js","containers/pages/Student/Staff/StaffTable.js","containers/pages/Student/Staff/StaffRequirement.js","components/SelectField.js","containers/pages/Student/Staff/StaffPersonalPolicy.js","containers/pages/Student/Staff/Staff.js","components/Error.js","containers/pages/Student/RegistrationToGame/RegistrationToGame.js","components/SelectSeminar.js","../node_modules/html-parse-stringify/src/parse-tag.js","../node_modules/html-parse-stringify/src/parse.js","../node_modules/html-parse-stringify/src/stringify.js","../node_modules/html-parse-stringify/src/index.js","../node_modules/react-i18next/dist/es/Trans.js","containers/pages/Student/CompanyRegistration/CompanyRegistration.js","routes/StudentSection.js","routes/TeacherSection.js","components/TableRowDropdown.js","containers/pages/Teacher/Games/Games.js","components/TextField.js","../node_modules/popper.js/src/utils/isBrowser.js","../node_modules/popper.js/src/utils/debounce.js","../node_modules/popper.js/src/utils/isFunction.js","../node_modules/popper.js/src/utils/getStyleComputedProperty.js","../node_modules/popper.js/src/utils/getParentNode.js","../node_modules/popper.js/src/utils/getScrollParent.js","../node_modules/popper.js/src/utils/getReferenceNode.js","../node_modules/popper.js/src/utils/isIE.js","../node_modules/popper.js/src/utils/getOffsetParent.js","../node_modules/popper.js/src/utils/getRoot.js","../node_modules/popper.js/src/utils/findCommonOffsetParent.js","../node_modules/popper.js/src/utils/isOffsetContainer.js","../node_modules/popper.js/src/utils/getScroll.js","../node_modules/popper.js/src/utils/getBordersSize.js","../node_modules/popper.js/src/utils/getWindowSizes.js","../node_modules/popper.js/src/utils/getClientRect.js","../node_modules/popper.js/src/utils/getBoundingClientRect.js","../node_modules/popper.js/src/utils/getOffsetRectRelativeToArbitraryNode.js","../node_modules/popper.js/src/utils/includeScroll.js","../node_modules/popper.js/src/utils/isFixed.js","../node_modules/popper.js/src/utils/getFixedPositionOffsetParent.js","../node_modules/popper.js/src/utils/getBoundaries.js","../node_modules/popper.js/src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../node_modules/popper.js/src/utils/computeAutoPlacement.js","../node_modules/popper.js/src/utils/getReferenceOffsets.js","../node_modules/popper.js/src/utils/getOuterSizes.js","../node_modules/popper.js/src/utils/getOppositePlacement.js","../node_modules/popper.js/src/utils/getPopperOffsets.js","../node_modules/popper.js/src/utils/find.js","../node_modules/popper.js/src/utils/runModifiers.js","../node_modules/popper.js/src/utils/findIndex.js","../node_modules/popper.js/src/methods/update.js","../node_modules/popper.js/src/utils/isModifierEnabled.js","../node_modules/popper.js/src/utils/getSupportedPropertyName.js","../node_modules/popper.js/src/methods/destroy.js","../node_modules/popper.js/src/utils/getWindow.js","../node_modules/popper.js/src/utils/setupEventListeners.js","../node_modules/popper.js/src/methods/enableEventListeners.js","../node_modules/popper.js/src/methods/disableEventListeners.js","../node_modules/popper.js/src/utils/removeEventListeners.js","../node_modules/popper.js/src/utils/isNumeric.js","../node_modules/popper.js/src/utils/setStyles.js","../node_modules/popper.js/src/modifiers/computeStyle.js","../node_modules/popper.js/src/utils/isModifierRequired.js","../node_modules/popper.js/src/methods/placements.js","../node_modules/popper.js/src/utils/clockwise.js","../node_modules/popper.js/src/modifiers/flip.js","../node_modules/popper.js/src/modifiers/offset.js","../node_modules/popper.js/src/modifiers/index.js","../node_modules/popper.js/src/modifiers/shift.js","../node_modules/popper.js/src/modifiers/preventOverflow.js","../node_modules/popper.js/src/modifiers/keepTogether.js","../node_modules/popper.js/src/modifiers/arrow.js","../node_modules/popper.js/src/utils/getOppositeVariation.js","../node_modules/popper.js/src/modifiers/inner.js","../node_modules/popper.js/src/modifiers/hide.js","../node_modules/popper.js/src/utils/getRoundedOffsets.js","../node_modules/popper.js/src/modifiers/applyStyle.js","../node_modules/popper.js/src/utils/setAttributes.js","../node_modules/popper.js/src/methods/defaults.js","../node_modules/popper.js/src/index.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-datepicker/es/index.js","components/DateField.js","containers/pages/Teacher/Game/GameMachineEffectivityGenerator.js","components/SelectTimeInWeek.js","containers/pages/Teacher/Game/Game.js","containers/pages/Teacher/MarketsAndCompanies/Companies.js","containers/pages/Teacher/MarketsAndCompanies/MarketDemand.js","containers/pages/Teacher/MarketsAndCompanies/Markets.js","containers/pages/Teacher/MarketsAndCompanies/MarketsAndCompanies.js","containers/pages/Teacher/LoanRequirements/LoanRequirements.js","containers/pages/Teacher/StockPrices/StockPrices.js","containers/pages/Teacher/Students/Students.js","containers/pages/Teacher/Summaries/Summaries.js","containers/pages/Teacher/Summaries/CompanySummary.js","containers/pages/Errors/NotFound.js","containers/pages/Student/Surveys/MarketSurvey.js","components/Checkboxes.js","components/Radioboxes.js","containers/pages/Student/Surveys/MarketSurveyRequirements.js","containers/pages/Student/Surveys/ConcurrencySurvey.js","containers/pages/Student/Surveys/MaterialSurveyTable.js","containers/pages/Student/Surveys/MaterialSurvey.js","containers/pages/Student/Surveys/MaterialSurveyRequirement.js","containers/pages/Student/Surveys/ConcurrencySurveyRequirement.js","containers/pages/Student/Surveys/Surveys.js","components/ScoresTable.js","containers/pages/Student/Scores/Scores.js","containers/pages/Teacher/Scores/Scores.js","routes/CompanyRegistrationSection.js","routes/CompanySection.js","routes/GameSection.js","../node_modules/react-i18next/dist/es/I18nextProvider.js","containers/pages/Teacher/Experimental/TimeTravel.js","containers/pages/Teacher/Experimental/Experimental.js","routes/Root.js","index.js"],"sourcesContent":["export const UPDATE_ENTITY_DATA_BY_ID = 'UPDATE_ENTITY_DATA_BY_ID';\nexport const DELETE_ENTITY_DATA_BY_ID = 'DELETE_ENTITY_DATA_BY_ID';\nexport const DELETE_ENTITY_DATA = 'DELETE_ENTITY_DATA';\nexport const DELETE_ALL_ENTITIES_DATA = 'DELETE_ALL_ENTITIES_DATA';\n\nexport const updateEntityDataById = (schema, id, data) => (dispatch, getState) => {\n dispatch({\n type: UPDATE_ENTITY_DATA_BY_ID,\n response: {\n entities: {\n [schema.key]: {\n [id]: data\n }\n }\n }\n });\n};\n\nexport const deleteEntityDataById = (schema, id) => (dispatch, getState) => {\n dispatch({\n type: DELETE_ENTITY_DATA_BY_ID,\n entity: schema.key,\n id: id\n });\n};\n\nexport const deleteEntityData = (entity) => (dispatch, getState) => {\n dispatch({\n type: DELETE_ENTITY_DATA,\n entity: entity\n });\n};\n\nexport const deleteAllEntitiesData = (entity) => (dispatch, getState) => {\n dispatch({\n type: DELETE_ALL_ENTITIES_DATA\n });\n};","export const SHOW_ERROR_MESSAGE = 'SHOW_ERROR_MESSAGE';\nexport const RESET_ERROR_MESSAGE = 'RESET_ERROR_MESSAGE';\nexport const REMOVE_ERROR_MESSAGE = 'REMOVE_ERROR_MESSAGE';\n\n// Displays an error message.\nexport const showErrorMessage = (message) => ({\n type: SHOW_ERROR_MESSAGE,\n error: {error: message}\n});\n\n// Displays a fatal error message.\nexport const showFatalErrorMessage = (message) => ({\n type: SHOW_ERROR_MESSAGE,\n error: {error: message, code: 500}\n});\n\n// Resets the currently isVisible error message.\nexport const resetErrorMessage = () => ({\n type: RESET_ERROR_MESSAGE\n});\n\n// Deletes an error message by indexes\nexport const removeErrorMessage = (indexes) => ({\n type: REMOVE_ERROR_MESSAGE,\n indexes: indexes\n});\n\n// Deletes an error message by id\nexport const removeErrorMessageById = (id) => ({\n type: REMOVE_ERROR_MESSAGE,\n id: id\n});\n\n\n// SPECIFIC ERRORS\n\nexport const showEndOfPeriod = () => ({\n type: SHOW_ERROR_MESSAGE,\n error: {\n error: 'End of period',\n code: 403\n }\n});\n","import {entities, Schemas} from \"../middleware/sync/schema\";\nimport {deleteAllEntitiesData} from \"./entities\";\nimport {CALL_API} from \"../middleware/sync\";\nimport {\n downloadData,\n createData,\n updateData,\n deleteData,\n uploadFile,\n postRequest, putRequest, getRequest,\n} from './sync-requests'\nimport {clearAuthToken, getAuthToken, persistAuthToken} from \"../middleware/sync/authorization\";\nimport config from \"../config\";\n\n\n// --- STUDENT ---\n\nexport const START_LOADING_BASIC_DATA = 'START_LOADING_BASIC_DATA';\n\n// Register to game\n\nexport const registerToGame = (registrationPhrase, complete) => (dispatch, getState) => {\n dispatch(postRequest('/register-to-game', Schemas.USER_GAME, {registrationPhrase: registrationPhrase})).then(complete);\n};\n\n// Game\n\nexport const loadGame = () => (dispatch, getState) => {\n dispatch({type: START_LOADING_BASIC_DATA});\n downloadData({endpoint: 'game', schema: Schemas.GAME})(dispatch, getState);\n};\n\n// Company\n\nexport const loadCompany = () => (dispatch, getState) => {\n dispatch({type: START_LOADING_BASIC_DATA});\n downloadData({endpoint: 'company', schema: Schemas.COMPANY})(dispatch, getState);\n};\n\n// Sells\n\nexport const loadSells = () => (dispatch, getState) => {\n downloadData({entity: entities.sells, endpoint: 'sells', schema: Schemas.SELL_ARRAY})(dispatch, getState);\n};\n\nexport const updateSells = (goodId, data) => (dispatch, getState) => {\n updateData(`sells/${goodId}`, Schemas.SELL, goodId, data)(dispatch, getState);\n};\n\nexport const loadMarketSurveys = () => (dispatch, getState) => {\n downloadData({entity: entities.marketSurveys, endpoint: 'market-survey', schema: Schemas.MARKET_SURVEY_ARRAY})(dispatch, getState);\n};\n\nexport const loadMarketSurveyRequirements = () => (dispatch, getState) => {\n downloadData({entity: entities.marketSurveyRequirements, endpoint: 'market-survey/requirements', schema: Schemas.MARKET_SURVEY_REQUIREMENT_ARRAY})(dispatch, getState);\n};\n\nexport const updateMarketSurveysRequirement = (goodId, data) => (dispatch, getState) => {\n updateData(`market-survey/requirements/${goodId}`, Schemas.MARKET_SURVEY_REQUIREMENT, goodId, data)(dispatch, getState);\n};\n\n\n// Production\n\nexport const loadProductionAndMachines = () => (dispatch, getState) => {\n downloadData([\n {entity: entities.production, endpoint: 'production', schema: Schemas.PRODUCTION},\n {entity: entities.machines, endpoint: 'machines', schema: Schemas.MACHINES}\n ])(dispatch, getState);\n};\n\nexport const updateProduction = (production) => (dispatch, getState) => {\n updateData('production', Schemas.PRODUCTION, 'first', production)(dispatch, getState);\n};\n\nexport const updateMachines = (sell, buy) => (dispatch, getState) => {\n updateData('machines', Schemas.MACHINES, 'first', {sell: sell, buy: buy})(dispatch, getState);\n};\n\n\n// Investment Loan\n\nexport const loadInvestmentLoan = () => (dispatch, getState) => {\n downloadData({entity: entities.investmentLoan, endpoint: 'investment-loan', schema: Schemas.INVESTMENT_LOAN})(dispatch, getState);\n};\n\nexport const updateInvestmentLoan = (data) => (dispatch, getState) => {\n updateData('investment-loan', Schemas.INVESTMENT_LOAN, 'first', data)(dispatch, getState);\n};\n\nexport const uploadInvestmentLoanDocument = (file, complete) => (dispatch, getState) => {\n uploadFile('investment-loan/document', Schemas.INVESTMENT_LOAN, {\"document\": file}, complete)(dispatch, getState);\n};\n\nexport const loadInvestmentLoanExtraRepayment = () => (dispatch, getState) => {\n downloadData({entity: entities.investmentLoanExtraRepayment, endpoint: 'investment-loan/extra-repayment', schema: Schemas.INVESTMENT_LOAN_EXTRA_REPAYMENT})(dispatch, getState);\n};\n\nexport const updateInvestmentLoanExtraRepayment = (data) => (dispatch, getState) => {\n updateData('investment-loan/extra-repayment', Schemas.INVESTMENT_LOAN_EXTRA_REPAYMENT, 'first', data)(dispatch, getState);\n};\n\n\n// Concurrency Surveys\n\nexport const loadConcurrencySurvey = () => (dispatch, getState) => {\n downloadData([{entity: entities.concurrencySurvey, endpoint: 'concurrency-survey', schema: Schemas.CONCURRENCY_SURVEY_ARRAY}])(dispatch, getState);\n};\n\nexport const loadConcurrencySurveyRequirement = () => (dispatch, getState) => {\n downloadData([{entity: entities.concurrencySurveyRequirement, endpoint: 'concurrency-survey/requirement', schema: Schemas.CONCURRENCY_SURVEY_REQUIREMENT}])(dispatch, getState);\n};\n\nexport const updateConcurrencySurveyRequirement = (data) => (dispatch, getState) => {\n updateData('concurrency-survey/requirement', Schemas.CONCURRENCY_SURVEY_REQUIREMENT, 'first', data)(dispatch, getState);\n};\n\n\n// StudentSummaries\n\nexport const loadSummaries = () => (dispatch, getState) => {\n downloadData({entity: '', endpoint: 'summaries', schema: Schemas.SUMMARY_ARRAY})(dispatch, getState);\n};\n\n\n// Material purchase\n\nexport const loadMaterialPurchase = () => (dispatch, getState) => {\n downloadData([\n {endpoint: 'material-purchase', schema: Schemas.MATERIAL_PURCHASE_ARRAY},\n {endpoint: 'material-purchase/prices', schema: Schemas.MATERIAL_PURCHASE_PRICES_ARRAY},\n {endpoint: 'material-purchase/requirement', schema: Schemas.MATERIAL_PURCHASE_REQUIREMENT_ARRAY},\n ])(dispatch, getState);\n};\n\nexport const updateMaterialPurchaseRequirement = (materialId, data) => (dispatch, getState) => {\n updateData('material-purchase/requirement/' + materialId, Schemas.MATERIAL_PURCHASE_REQUIREMENT, materialId, data)(dispatch, getState);\n};\n\n\n// Material survey\n\nexport const loadMaterialSurvey = () => (dispatch, getState) => {\n downloadData([\n {endpoint: 'material-survey', schema: Schemas.MATERIAL_SURVEY_ARRAY},\n {endpoint: 'material-survey/requirement', schema: Schemas.MATERIAL_SURVEY_REQUIREMENT},\n ])(dispatch, getState);\n};\n\nexport const updateMaterialSurveyRequirement = (data) => (dispatch, getState) => {\n updateData('material-survey/requirement', Schemas.MATERIAL_SURVEY_REQUIREMENT, 'first', data)(dispatch, getState);\n};\n\n\n// Staff\n\nexport const loadStaff = () => (dispatch, getState) => {\n downloadData([\n {endpoint: 'staff', schema: Schemas.STAFF},\n {endpoint: 'staff/requirement', schema: Schemas.STAFF_REQUIREMENT},\n {endpoint: 'staff/personal-policy', schema: Schemas.STAFF_PERSONAL_POLICY},\n ])(dispatch, getState);\n};\n\nexport const updateStaffRequirement = (data) => (dispatch, getState) => {\n updateData('staff/requirement', Schemas.STAFF_REQUIREMENT, 'first', data)(dispatch, getState);\n};\n\nexport const updateStaffPersonalPolicy = (data) => (dispatch, getState) => {\n updateData('staff/personal-policy', Schemas.STAFF_PERSONAL_POLICY, 'first', data)(dispatch, getState);\n};\n\n// Student-companies\n\nexport const loadUserCompanies = () => (dispatch, getState) => {\n downloadData({endpoint: 'student-companies', schema: Schemas.USER_COMPANY_ARRAY})(dispatch, getState);\n};\n\nexport const addNewCompany = (companyName, seminarId, complete) => (dispatch, getState) => {\n createData('student-companies', Schemas.USER_COMPANY, {name: companyName, seminarId: seminarId}, complete)(dispatch, getState);\n};\n\nexport const updateCompany = (companyId, name, seminarId) => (dispatch, getState) => {\n updateData('student-companies/' + companyId, Schemas.USER_COMPANY, companyId, {name: name, seminarId: seminarId})(dispatch, getState);\n};\n\nexport const deleteCompany = (companyId) => (dispatch, getState) => {\n deleteData('student-companies/' + companyId, Schemas.USER_COMPANY, companyId)(dispatch, getState);\n};\n\nexport const updateUserCompany = (user, companyId, complete) => (dispatch, getState) => {\n updateData('user', Schemas.USER, \"first\", {companyId: companyId}, complete)(dispatch, getState);\n};\n\n// Scores\n\nexport const loadScores = () => (dispatch, getState) => {\n downloadData({endpoint: 'score', schema: Schemas.SCORE_ARRAY})(dispatch, getState);\n};\n\n\n\n// --- TEACHER ---\n\n// Teacher :: games\n\nexport const loadTeacherGames = () => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/games', schema: Schemas.TEACHER_GAME_ARRAY})(dispatch, getState);\n};\n\nexport const deleteTeacherGame = (gameId) => (dispatch, getState) => {\n deleteData('teacher/games/' + gameId, Schemas.TEACHER_GAME, gameId)(dispatch, getState);\n};\n\nexport const createTeacherGame = (data, complete) => (dispatch, getState) => {\n createData('teacher/games', Schemas.TEACHER_GAME, data, complete)(dispatch, getState);\n};\n\nexport const updateTeacherGame = (gameId, data, complete) => (dispatch, getState) => {\n updateData('teacher/games/' + gameId, Schemas.TEACHER_GAME, gameId, data, () => {\n // download game again to fetch updated things like currentQuarterNumber\n downloadData({endpoint: 'teacher/games/' + gameId, schema: Schemas.TEACHER_GAME}, complete)(dispatch, getState);\n })(dispatch, getState);\n};\n\nexport const changeCurrentGameQuarter = (gameId, newQuarterNumber, complete) => (dispatch) => {\n dispatch(putRequest('teacher/games/' + gameId + '/switch-quarter/' + newQuarterNumber, null, null)).then(complete);\n};\n\nexport const loadSwitchQuarterLog = (gameId, complete) => (dispatch) => {\n dispatch(getRequest('teacher/games/' + gameId + '/switch-quarter-log', null)).then(complete);\n};\n\n// Teacher :: companies and markets\n\nexport const loadTeacherCompanies = (gameId, complete) => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/games/' + gameId + '/companies', schema: Schemas.TEACHER_COMPANY_ARRAY}, complete)(dispatch, getState);\n};\n\nexport const loadTeacherMarkets = (gameId, complete) => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/games/' + gameId + '/markets', schema: Schemas.TEACHER_MARKET_ARRAY}, complete)(dispatch, getState);\n};\n\nexport const addNewTeacherCompany = (gameId, companyName, seminarId, complete) => (dispatch, getState) => {\n createData('teacher/games/' + gameId + '/companies', Schemas.TEACHER_COMPANY, {name: companyName, seminarId: seminarId}, complete)(dispatch, getState);\n};\n\nexport const updateTeacherCompany = (gameId, companyId, data) => (dispatch, getState) => {\n updateData('teacher/games/' + gameId + '/companies/' + companyId, Schemas.TEACHER_COMPANY, companyId, data)(dispatch, getState);\n};\n\nexport const deleteTeacherCompany = (gameId, companyId) => (dispatch, getState) => {\n deleteData('teacher/games/' + gameId + '/companies/' + companyId, Schemas.TEACHER_COMPANY, companyId)(dispatch, getState);\n};\n\nexport const addNewMarket = (gameId, marketName, complete) => (dispatch, getState) => {\n createData('teacher/games/' + gameId + '/markets', Schemas.TEACHER_MARKET, {name: marketName}, complete)(dispatch, getState);\n};\n\nexport const updateTeacherMarket = (gameId, marketId, data) => (dispatch, getState) => {\n updateData('teacher/games/' + gameId + '/markets/' + marketId, Schemas.TEACHER_MARKET, marketId, data)(dispatch, getState);\n};\n\nexport const deleteTeacherMarket = (gameId, marketId) => (dispatch, getState) => {\n deleteData('teacher/games/' + gameId + '/markets/' + marketId, Schemas.TEACHER_MARKET, marketId)(dispatch, getState);\n};\n\nexport const loadMarketsRandomness = (gameId) => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/games/' + gameId + '/randomness', schema: Schemas.TEACHER_RANDOMNESS_ARRAY})(dispatch, getState);\n};\n\nexport const regenerateRandomness = (gameId, marketId, complete) => (dispatch, getState) => {\n createData('teacher/games/' + gameId + '/randomness/' + marketId, Schemas.TEACHER_RANDOMNESS, {}, complete)(dispatch, getState);\n};\n\nexport const searchUsers = (query, complete) => (dispatch, getState) => {\n downloadData([{endpoint: 'teacher/users/?search=' + query, schema: Schemas.TEACHER_SEARCH_USER_ARRAY}], complete)(dispatch, getState);\n};\n\nexport const updateTeacherUser = (user, data) => (dispatch, getState) => {\n updateData('teacher/users/' + user.id, Schemas.TEACHER_USER, user.id, data)(dispatch, getState);\n};\n\n// Teacher :: students\n\nexport const loadTeacherGameUsers = (gameId) => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/games/' + gameId + '/users', schema: Schemas.TEACHER_USER_ARRAY})(dispatch, getState);\n};\n\n// Teacher :: stock prices\n\nexport const loadStockPrices = (gameId) => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/games/' + gameId + '/stock-prices', schema: Schemas.TEACHER_STOCK_PRICES_ARRAY})(dispatch, getState);\n};\n\n// Teacher :: loan requirements\n\nexport const UPDATE_OPENED_LOAN_REQUIREMENTS = 'UPDATE_OPENED_LOAN_REQUIREMENTS';\n\nexport const loadLoanRequirements = (gameId) => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/games/' + gameId + '/loan-requirements', schema: Schemas.TEACHER_LOAN_REQUIREMENTS_ARRAY}, () => {\n dispatch({type: UPDATE_OPENED_LOAN_REQUIREMENTS, gameId: gameId});\n })(dispatch, getState);\n};\n\nexport const updateLoanRequirement = (gameId, requirementId, data) => (dispatch, getState) => {\n updateData('teacher/games/' + gameId + '/loan-requirements/' + requirementId, Schemas.TEACHER_LOAN_REQUIREMENTS, requirementId, data)(dispatch, getState);\n dispatch({type: UPDATE_OPENED_LOAN_REQUIREMENTS, gameId: gameId});\n};\n\n// Teacher :: summaries\n\nexport const loadTeacherSummaries = (companyId) => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/companies/' + companyId + '/summaries', schema: Schemas.SUMMARY_ARRAY})(dispatch, getState);\n};\n\n// Teacher :: scores\n\nexport const loadTeacherScores = (gameId) => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/games/' + gameId + '/score', schema: Schemas.SCORE_ARRAY})(dispatch, getState);\n};\n\n// Teacher :: statistics\n\nexport const generateTeacherStatistics = (gameId, complete) => (dispatch, getState) => {\n createData('teacher/games/' + gameId + '/statistics/generate', null, null, complete)(dispatch, getState);\n};\n\n// Teacher :: game defaults\n\nexport const loadTeacherGameDefaults = (complete) => (dispatch, getState) => {\n downloadData({endpoint: 'teacher/game-defaults', schema: Schemas.TEACHER_GAME_DEFAULTS}, complete)(dispatch, getState);\n};\n\n\n\n// --- USER ---\n\nexport const LOGIN_REQUEST = 'LOGIN_REQUEST';\nexport const LOGIN_SUCCESS = 'LOGIN_SUCCESS';\nexport const LOGIN_FAILURE = 'LOGIN_FAILURE';\n\nexport const LOGIN_RESTORED = 'LOGIN_RESTORED';\n\nexport const login = (username, password, complete) => (dispatch, getState) => {\n dispatch({\n [CALL_API]: {\n types: [LOGIN_REQUEST, LOGIN_SUCCESS, LOGIN_FAILURE],\n method: 'POST',\n endpoint: 'login',\n schema: Schemas.USER,\n data: {\n \"username\": username,\n \"password\": password\n }\n }\n }).then(result => {\n persistAuthToken(result.response);\n loadProfilePicture()(dispatch, getState);\n complete();\n });\n};\n\nexport const loadUser = () => (dispatch, getState) => {\n dispatch({type: START_LOADING_BASIC_DATA});\n downloadData({entity: entities.user, endpoint: 'user', schema: Schemas.USER})(dispatch, getState);\n loadProfilePicture()(dispatch, getState);\n};\n\nexport const SET_PROFILE_PICTURE = 'SET_PROFILE_PICTURE';\nexport const DELETE_PROFILE_PICTURE = 'DELETE_PROFILE_PICTURE';\n\nexport const loadProfilePicture = () => (dispatch, getState) => {\n const parameters = {\n headers: { authorization: 'Bearer ' + getAuthToken() }\n };\n fetch(config.serverUrl + 'user/picture', parameters)\n .then(response => {\n if (response.status === 200) {\n return response.blob();\n }\n })\n .then(blob => {\n if (blob !== undefined) {\n const reader = new FileReader();\n reader.onload = function () {\n dispatch({\n type: SET_PROFILE_PICTURE,\n image: this.result\n });\n };\n reader.readAsDataURL(blob);\n }\n });\n};\n\nexport const LOGOUT = 'LOGOUT';\n\nexport const logout = () => (dispatch, getState) => {\n deleteAllEntitiesData()(dispatch, getState);\n clearAuthToken();\n dispatch({type: LOGOUT});\n};\n","export const ADD_SYNC_REQUEST = 'ADD_SYNC_REQUEST';\nexport const REMOVE_FIRST_SYNC_REQUEST = 'REMOVE_FIRST_SYNC_REQUEST';\nexport const WAIT_FOR_SYNC = 'WAIT_FOR_SYNC';\nexport const START_SYNC = 'START_SYNC';\nexport const STOP_SYNC = 'STOP_SYNC';\nexport const NEW_CHANGES_WITHOUT_SAVING = 'NEW_CHANGES_WITHOUT_SAVING';\nexport const SAVED_ALL_CHANGES = 'SAVED_ALL_CHANGES';\n\nexport const addSyncRequest = (id, request) => (dispatch, getState) => {\n return dispatch({\n type: ADD_SYNC_REQUEST,\n id: id,\n request: request\n });\n};\n\nlet syncTimeout = null;\nlet syncCompletionHandlers = [];\n\nexport const startSync = (complete = () => {}, withDelay = false) => (dispatch, getState) => {\n // if the queue is empty and the sync is not already running, then trigger the completion handler immediately and do not start the sync at all\n // else add the handler to the array to be called after finishing the sync\n if (\n getState().isWaitingForSync === false &&\n getState().isSyncing === false &&\n getState().syncQueue.length === 0\n ) {\n complete();\n return;\n } else {\n syncCompletionHandlers.push(complete);\n }\n\n // start the sync if not running already\n if (getState().isSyncing === false) {\n\n // restart the delay timeout\n clearTimeout(syncTimeout);\n dispatch({type: WAIT_FOR_SYNC});\n\n syncTimeout = setTimeout(() => {\n\n // process all items in sync queue\n dispatch({type: START_SYNC});\n syncFirstItem(dispatch, getState, () => {\n // finish syncing after all items are processed\n dispatch({type: STOP_SYNC});\n triggerCompletionHandlers();\n });\n\n }, (withDelay ? 1000 : 0));\n }\n};\n\nexport const startSyncWithDelay = (complete) => {\n return startSync(complete, true);\n};\n\nconst syncFirstItem = (dispatch, getState, allItemsCompleted) => {\n const firstRequest = getState().syncQueue[0];\n dispatch({type: REMOVE_FIRST_SYNC_REQUEST});\n\n if (firstRequest === undefined) {\n // no more requests in the queue\n allItemsCompleted();\n } else {\n // process a request in the queue\n dispatch(firstRequest.request).then(() => {\n // then continue with the next request in the queue\n syncFirstItem(dispatch, getState, allItemsCompleted);\n });\n }\n};\n\nconst triggerCompletionHandlers = () => {\n // we have to copy the array to prevent recursive triggering when the sync is started inside the completion handler\n const copy = syncCompletionHandlers.slice();\n syncCompletionHandlers = [];\n copy.forEach(handler => handler());\n};\n","import {CALL_API} from \"../middleware/sync\";\nimport {entityFromSchema} from \"../middleware/sync/schema\";\nimport {deleteEntityData, deleteEntityDataById, updateEntityDataById} from \"./entities\";\nimport {addSyncRequest, startSync, startSyncWithDelay} from \"./sync-queue\";\n\n\n// --- GET REQUEST ---\n\nexport const DOWNLOAD_REQUEST = 'DOWNLOAD_REQUEST';\nexport const DOWNLOAD_SUCCESS = 'DOWNLOAD_SUCCESS';\nexport const DOWNLOAD_FAILURE = 'DOWNLOAD_FAILURE';\nconst DOWNLOAD_TYPES = [ DOWNLOAD_REQUEST, DOWNLOAD_SUCCESS, DOWNLOAD_FAILURE ];\n\nexport const START_DOWNLOADING_ENTITY = 'START_DOWNLOADING_ENTITY';\nexport const STOP_DOWNLOADING_ENTITY = 'STOP_DOWNLOADING_ENTITY';\n\nexport const getRequest = (endpoint, schema) => {\n return {\n [CALL_API]: {\n types: DOWNLOAD_TYPES,\n endpoint: endpoint,\n schema: schema\n }\n }\n};\n\nexport const downloadData = (targets, complete) => (dispatch, getState) => {\n // normalize inputs parameter\n if (Array.isArray(targets) === false) {\n targets = [targets];\n }\n\n // delete old data\n targets.forEach(target => {\n const entity = entityFromSchema(target.schema);\n dispatch({type: START_DOWNLOADING_ENTITY, entity: entity});\n deleteEntityData(entity)(dispatch, getState);\n });\n\n // prepare download requests as promises\n let promises = [];\n targets.forEach(target => {\n promises.push(new Promise((resolve, reject) => {\n dispatch(getRequest(target.endpoint, target.schema)).then(() => {\n // download complete\n dispatch({type: STOP_DOWNLOADING_ENTITY, entity: entityFromSchema(target.schema)});\n resolve();\n });\n }));\n });\n\n // finish sync and then download all entities\n startSync(() => {\n Promise.all(promises).then(complete);\n })(dispatch, getState);\n};\n\n\n// --- POST REQUEST ---\n\nexport const CREATE_REQUEST = 'CREATE_REQUEST';\nexport const CREATE_SUCCESS = 'CREATE_SUCCESS';\nexport const CREATE_FAILURE = 'CREATE_FAILURE';\nconst CREATE_TYPES = [CREATE_REQUEST, CREATE_SUCCESS, CREATE_FAILURE];\n\nexport const postRequest = (endpoint, schema, data) => {\n return {\n [CALL_API]: {\n types: CREATE_TYPES,\n method: 'POST',\n endpoint: endpoint,\n schema: schema,\n data: data\n }\n }\n};\n\nexport const createData = (endpoint, schema, data, complete) => (dispatch, getState) => {\n // We cannot create the object locally immediately because its ID is generated on the server.\n // Therefore, we create the object on the server first and then we save it after receiving the server response.\n\n // create on server via sync queue and store the result received from server\n const request = postRequest(endpoint, schema, data);\n addSyncRequest(endpoint + '/new', request)(dispatch, getState);\n startSync(complete)(dispatch, getState);\n};\n\n\n// --- PUT REQUEST ---\n\nexport const UPDATE_REQUEST = 'UPDATE_REQUEST';\nexport const UPDATE_SUCCESS = 'UPDATE_SUCCESS';\nexport const UPDATE_FAILURE = 'UPDATE_FAILURE';\nconst UPDATE_TYPES = [UPDATE_REQUEST, UPDATE_SUCCESS, UPDATE_FAILURE];\n\nexport const putRequest = (endpoint, schema, data) => {\n return {\n [CALL_API]: {\n types: UPDATE_TYPES,\n method: 'PUT',\n endpoint: endpoint,\n schema: schema,\n data: data\n }\n }\n};\n\nexport const updateData = (endpoint, schema, id, data, complete) => (dispatch, getState) => {\n // local immediate update\n if (id !== null) {\n updateEntityDataById(schema, id, data)(dispatch, getState);\n }\n\n // server update via sync queue\n const request = putRequest(endpoint, schema, data);\n addSyncRequest(endpoint, request)(dispatch, getState);\n startSyncWithDelay(complete)(dispatch, getState);\n};\n\n\n// --- DELETE REQUEST ---\n\nexport const DELETE_REQUEST = 'DELETE_REQUEST';\nexport const DELETE_SUCCESS = 'DELETE_SUCCESS';\nexport const DELETE_FAILURE = 'DELETE_FAILURE';\nconst DELETE_TYPES = [DELETE_REQUEST, DELETE_SUCCESS, DELETE_FAILURE];\n\nexport const deleteRequest = (endpoint, schema) => {\n return {\n [CALL_API]: {\n types: DELETE_TYPES,\n method: 'DELETE',\n endpoint: endpoint,\n schema: schema\n }\n }\n};\n\nexport const deleteData = (endpoint, schema, id, complete) => (dispatch, getState) => {\n // local immediate delete\n if (id !== null) {\n deleteEntityDataById(schema, id)(dispatch, getState);\n }\n\n // delete on server via sync queue\n const request = deleteRequest(endpoint, schema);\n addSyncRequest(endpoint, request)(dispatch, getState);\n startSync(complete)(dispatch, getState);\n};\n\n\n// --- FILE UPLOAD REQUEST ---\n\nexport const UPLOAD_REQUEST = 'UPLOAD_REQUEST';\nexport const UPLOAD_SUCCESS = 'UPLOAD_SUCCESS';\nexport const UPLOAD_FAILURE = 'UPLOAD_FAILURE';\nconst UPLOAD_TYPES = [UPLOAD_REQUEST, UPLOAD_SUCCESS, UPLOAD_FAILURE];\n\nexport const uploadRequest = (endpoint, schema, files) => {\n const data = new FormData();\n Object.keys(files).forEach(key => {\n data.append(key, files[key]);\n });\n return {\n [CALL_API]: {\n types: UPLOAD_TYPES,\n method: 'POST',\n endpoint: endpoint,\n schema: schema,\n data: data\n }\n }\n};\n\nexport const uploadFile = (endpoint, schema, files, complete) => (dispatch, getState) => {\n // upload files to server via sync queue\n const request = uploadRequest(endpoint, schema, files);\n addSyncRequest(endpoint, request)(dispatch, getState);\n startSync(complete)(dispatch, getState);\n};\n","export default {\n version: '1.0.2',\n serverUrl: process.env.REACT_APP_BACKEND_URL || 'http://localhost:8000/', // slash / must be at the end\n maxNumber: 1000000000,\n minNumber: -1000000000,\n maxString: 255,\n maxCompanyNameLength: 30,\n maxRegistrationPhraseLength: 50,\n defaultLanguage: 'en', // 'cs' or 'en', used for the first visit of the page, when the user changes the language manually, this takes no effect\n}\n","import {LOGIN_RESTORED} from \"../../actions/sync-modules\";\n\nexport const getAuthToken = () => {\n const token = localStorage.getItem('authToken');\n return (token === null) ? null : token\n};\n\nexport const persistAuthToken = (response) => {\n const user = response && response.entities.user['first'];\n if (user !== undefined) {\n localStorage.setItem('authToken', user.apiToken);\n localStorage.setItem('authUserName', user.name);\n }\n};\n\nexport const restoreAuthToken = (store) => {\n const token = localStorage.getItem('authToken');\n\n if (token !== null) {\n store.dispatch({\n type: LOGIN_RESTORED\n });\n }\n};\n\nexport const clearAuthToken = () => {\n localStorage.removeItem('authToken');\n localStorage.removeItem('authUserName');\n};\n","import { normalize } from 'normalizr'\nimport { camelizeKeys } from 'humps'\nimport config from '../../config'\nimport {toArray} from \"../../services/utils\";\n\n// We use this Normalizr schemas to transform API responses from a nested form\n// to a flat form where repos and users are placed in `entities`, and nested\n// JSON objects are replaced with their IDs. This is very convenient for\n// consumption by reducers, because we can easily build a normalized tree\n// and keep it updated as we fetch more data.\n// Read more about Normalizr: https://github.com/paularmstrong/normalizr\n\n\n// Fetches an API response and normalizes the result JSON according to schema.\n// This makes every API response have the same shape, regardless of how nested it was.\nconst sendServerRequest = (endpoint, schema, method = 'GET', data = {}, authorizationToken = null) => {\n // headers\n let parameters = {\n method: method.toUpperCase(),\n headers: {\n 'Accept': 'application/json'\n },\n cache: 'no-cache',\n };\n\n // request body data\n if (method === 'POST' || method === 'PUT') {\n if (data instanceof FormData) {\n parameters.body = data;\n } else {\n parameters.body = JSON.stringify(data);\n parameters.headers['content-type'] ='application/json';\n }\n }\n\n // authorization using a bearer token\n if (authorizationToken !== null) {\n parameters.headers.authorization = 'Bearer ' + authorizationToken;\n }\n\n // request\n return fetch(config.serverUrl + endpoint, parameters)\n .then(response => {\n if (response.ok) {\n return parseSuccessfulResponse(method, response, schema);\n } else {\n if (response.status === 404 && schema !== null) {\n return parseNotFoundResponse(schema);\n } else {\n return parseFailedResponse(response, schema, method);\n }\n }\n });\n};\n\nconst normalizeJson = (json, schema) => {\n const camelizedJson = camelizeKeys(json);\n const normalizedJson = normalize(camelizedJson, schema);\n\n Object.keys(normalizedJson[\"entities\"]).forEach(key => {\n const entity = normalizedJson[\"entities\"][key];\n if (entity[undefined] !== undefined) { // force delete of items in local state according to deleted items on the server\n delete entity[undefined];\n }\n });\n\n return normalizedJson;\n};\n\nconst parseSuccessfulResponse = (method, response, schema) => {\n return response.json()\n .catch(err => {\n console.error(`'${err}' happened, but no big deal!`);\n return {};\n })\n .then(json => {\n\n // Automatically stores the received data in the local db.\n //\n // It does not store data from PUT and DELETE responses. These data\n // are updated immediately after the user changes something - before\n // sending the request. Storing data from PUTs and DELETE responses\n // would cause UI problems because PUT and DELETE requests are\n // all asynchronous (no spinner). The user does not have to wait for\n // the result and can continue in editing even during saving the data\n // on server.\n\n if (['GET', 'POST'].includes(method) && schema !== null) {\n return Object.assign({}, normalizeJson(json, schema));\n } else {\n return Object.assign({}, json);\n }\n })\n};\n\nconst parseFailedResponse = (response, schema, method) => {\n const key = (schema === null) ? '' : schema.key;\n const id = method + '-' + key;\n const code = response.status;\n\n return response.json()\n .catch(err => {\n return Promise.reject({\n id: id,\n code: code,\n error: 'Fatal error'\n });\n })\n .then(json => {\n if (json.errors !== undefined) {\n json[\"error\"] = toArray(json.errors).join(\", \");\n }\n json[\"id\"] = id;\n json[\"code\"] = code;\n return Promise.reject(json);\n });\n};\n\nconst parseNotFoundResponse = (schema) => {\n let entitites = {};\n entitites[schema.key] = {first: null};\n return {entities: entitites};\n};\n\n\nexport default sendServerRequest;\n","import { getAuthToken } from './authorization'\nimport sendServerRequest from './serverRequest'\n\n// Action key that carries API call info interpreted by this Redux middleware.\nexport const CALL_API = 'Call API';\n\n// A Redux middleware that interprets actions with CALL_API info specified.\n// Performs the call and promises when such actions are dispatched.\nexport default store => next => action => {\n if (action[CALL_API] === undefined) {\n return next(action)\n }\n\n let callAPI = action[CALL_API];\n let { endpoint } = callAPI;\n const { schema, types, method, data } = callAPI;\n const [ requestType, successType, failureType ] = types;\n\n if (typeof endpoint === 'function') {\n endpoint = endpoint(store.getState())\n }\n if (typeof endpoint !== 'string') {\n throw new Error('Specify a string endpoint URL.')\n }\n if (!Array.isArray(types) || types.length !== 3) {\n throw new Error('Expected an array of three action types.')\n }\n if (!types.every(type => typeof type === 'string')) {\n throw new Error('Expected action types to be strings.')\n }\n\n const actionWith = data => {\n const finalAction = Object.assign({}, action, data);\n delete finalAction[CALL_API];\n return finalAction\n };\n\n next(actionWith({ type: requestType }));\n\n return sendServerRequest(endpoint, schema, method, data, getAuthToken()).then(\n response => next(actionWith({\n response,\n type: successType\n })),\n error => next(actionWith({\n error: error || { error: 'error', errorMessage: 'Nastala chyba. Zkuste prosím obnovit stránku.'},\n type: failureType\n }))\n )\n}\n","import { schema } from 'normalizr'\n\n// ENTITY STRUCTURE\n\nexport const entities = {\n user: '',\n userGame: '',\n game: '',\n company: '',\n sells: '',\n production: '',\n machines: '',\n investmentLoan: '',\n investmentLoanExtraRepayment: '',\n marketSurveys: '',\n marketSurveyRequirements: '',\n concurrencySurvey: '',\n concurrencySurveyRequirement: '',\n summaries: '',\n materialPurchase: '',\n materialPurchasePrices: '',\n materialPurchaseRequirement: '',\n materialSurvey: '',\n materialSurveyRequirement: '',\n staff: '',\n staffRequirement: '',\n staffPersonalPolicy: '',\n userCompanies: '',\n teacherGames: '',\n teacherGameDefaults: '',\n stockPrices: '',\n loanRequirements: '',\n teacherCompanies: '',\n teacherMarkets: '',\n teacherRandomness: '',\n teacherUsers: '',\n teacherSearchUsers: '',\n scores: '',\n};\n\n// HELPER FUNCTIONS\n\nObject.keys(entities).forEach(entityKey => {\n if (entities[entityKey] === '') {\n entities[entityKey] = entityKey;\n }\n});\n\nexport const entitiesStructure = (() => {\n let obj = {};\n Object.keys(entities).forEach(name => obj[name] = {});\n return obj;\n})();\n\nexport const entityFromSchema = (schema) => {\n if (schema === null) {\n return null;\n } else if (Array.isArray(schema)) {\n return schema[0].key;\n } else {\n return schema.key;\n }\n};\n\n// SCHEMA DEFINITIONS\n\nconst singleObjectSchema = (entity) => {\n return new schema.Entity(entity, {}, {\n idAttribute: item => \"first\"\n });\n};\n\nconst byIdSchema = (entity) => {\n return new schema.Entity(entity, {}, {\n idAttribute: item => item.id\n });\n};\n\nconst byGoodIdSchema = (entity) => {\n return new schema.Entity(entity, {}, {\n idAttribute: item => item.goodId\n });\n};\n\nconst byMaterialIdSchema = (entity) => {\n return new schema.Entity(entity, {}, {\n idAttribute: item => item.materialId\n });\n};\n\nconst byMarketIdSchema = (entity) => {\n return new schema.Entity(entity, {}, {\n idAttribute: item => item.marketId\n });\n};\n\nconst byQuarterNumberSchema = (entity) => {\n return new schema.Entity(entity, {}, {\n idAttribute: item => item.quarterNumber\n });\n};\n\n// general schemas\nconst userSchema = singleObjectSchema(entities.user);\nconst summarySchema = byQuarterNumberSchema(entities.summaries);\nconst scoreSchema = byIdSchema(entities.scores);\n\n// student schemas\nconst sellSchema = byGoodIdSchema(entities.sells);\nconst marketSurveySchema = byGoodIdSchema(entities.marketSurveys);\nconst marketSurveyRequirementSchema = byGoodIdSchema(entities.marketSurveyRequirements);\nconst concurrencySurveySchema = byQuarterNumberSchema(entities.concurrencySurvey);\nconst materialPurchaseSchema = byMaterialIdSchema(entities.materialPurchase);\nconst materialPurchasePricesSchema = byMaterialIdSchema(entities.materialPurchasePrices);\nconst materialPurchaseRequirementSchema = byMaterialIdSchema(entities.materialPurchaseRequirement);\nconst materialSurveySchema = byMaterialIdSchema(entities.materialSurvey);\nconst userCompanySchema = byIdSchema(entities.userCompanies);\n\n// teacher schemas\nconst teacherGameSchema = byIdSchema(entities.teacherGames);\nconst teacherGameDefaultsSchema = singleObjectSchema(entities.teacherGameDefaults);\nconst stockPricesSchema = byIdSchema(entities.stockPrices);\nconst loanRequirementsSchema = byIdSchema(entities.loanRequirements);\nconst teacherCompanySchema = byIdSchema(entities.teacherCompanies);\nconst teacherMarketSchema = byIdSchema(entities.teacherMarkets);\nconst teacherRandomnessSchema = byMarketIdSchema(entities.teacherRandomness);\nconst teacherUserSchema = byIdSchema(entities.teacherUsers);\nconst teacherSearchUserSchema = byIdSchema(entities.teacherSearchUsers);\n\n// wrap all schemas to one object\nexport const Schemas = {\n // general\n USER: userSchema,\n USER_GAME: singleObjectSchema(entities.userGame),\n SUMMARY: summarySchema,\n SUMMARY_ARRAY: [summarySchema],\n SCORE: scoreSchema,\n SCORE_ARRAY: [scoreSchema],\n\n // student\n GAME: singleObjectSchema(entities.game),\n COMPANY: singleObjectSchema(entities.company),\n SELL: sellSchema,\n SELL_ARRAY: [sellSchema],\n PRODUCTION: singleObjectSchema(entities.production),\n MACHINES: singleObjectSchema(entities.machines),\n INVESTMENT_LOAN: singleObjectSchema(entities.investmentLoan),\n INVESTMENT_LOAN_EXTRA_REPAYMENT: singleObjectSchema(entities.investmentLoanExtraRepayment),\n MARKET_SURVEY: marketSurveySchema,\n MARKET_SURVEY_ARRAY: [marketSurveySchema],\n MARKET_SURVEY_REQUIREMENT: marketSurveyRequirementSchema,\n MARKET_SURVEY_REQUIREMENT_ARRAY: [marketSurveyRequirementSchema],\n CONCURRENCY_SURVEY: concurrencySurveySchema,\n CONCURRENCY_SURVEY_ARRAY: [concurrencySurveySchema],\n CONCURRENCY_SURVEY_REQUIREMENT: singleObjectSchema(entities.concurrencySurveyRequirement),\n MATERIAL_PURCHASE: materialPurchaseSchema,\n MATERIAL_PURCHASE_ARRAY: [materialPurchaseSchema],\n MATERIAL_PURCHASE_PRICES: materialPurchasePricesSchema,\n MATERIAL_PURCHASE_PRICES_ARRAY: [materialPurchasePricesSchema],\n MATERIAL_PURCHASE_REQUIREMENT: materialPurchaseRequirementSchema,\n MATERIAL_PURCHASE_REQUIREMENT_ARRAY: [materialPurchaseRequirementSchema],\n MATERIAL_SURVEY: materialSurveySchema,\n MATERIAL_SURVEY_ARRAY: [materialSurveySchema],\n MATERIAL_SURVEY_REQUIREMENT: singleObjectSchema(entities.materialSurveyRequirement),\n STAFF: singleObjectSchema(entities.staff),\n STAFF_REQUIREMENT: singleObjectSchema(entities.staffRequirement),\n STAFF_PERSONAL_POLICY: singleObjectSchema(entities.staffPersonalPolicy),\n USER_COMPANY: userCompanySchema,\n USER_COMPANY_ARRAY: [userCompanySchema],\n\n // teacher:\n TEACHER_GAME: teacherGameSchema,\n TEACHER_GAME_ARRAY: [teacherGameSchema],\n TEACHER_GAME_DEFAULTS: teacherGameDefaultsSchema,\n TEACHER_STOCK_PRICES: stockPricesSchema,\n TEACHER_STOCK_PRICES_ARRAY: [stockPricesSchema],\n TEACHER_LOAN_REQUIREMENTS: loanRequirementsSchema,\n TEACHER_LOAN_REQUIREMENTS_ARRAY: [loanRequirementsSchema],\n TEACHER_COMPANY: teacherCompanySchema,\n TEACHER_COMPANY_ARRAY: [teacherCompanySchema],\n TEACHER_MARKET: teacherMarketSchema,\n TEACHER_MARKET_ARRAY: [teacherMarketSchema],\n TEACHER_RANDOMNESS: teacherRandomnessSchema,\n TEACHER_RANDOMNESS_ARRAY: [teacherRandomnessSchema],\n TEACHER_USER: teacherUserSchema,\n TEACHER_USER_ARRAY: [teacherUserSchema],\n TEACHER_SEARCH_USER: teacherSearchUserSchema,\n TEACHER_SEARCH_USER_ARRAY: [teacherSearchUserSchema],\n};\n","import {dateFromUnixTimestamp} from \"./utils\";\n\nexport function quarterNameFor(game, quarterNumber) {\n if (quarterNumber < 1){\n return \"-\";\n }\n\n const initialYear = game.fictiveYearOfCompanyEstablishement;\n const year = Math.floor((quarterNumber - 1) / 4);\n const quarter = quarterNumber - (year * 4);\n\n return 'Q' + (quarter) + ' ' + (initialYear + year);\n}\n\nexport function currentQuarter(game) {\n if (game === undefined || game === null) {\n return {\n quarterNumber: -1,\n end: null\n };\n } else {\n const result = game.quarters.find(a => a.quarterNumber === game.currentQuarterNumber);\n if (result === undefined) {\n return {\n quarterNumber: -1,\n end: null\n };\n } else {\n return result;\n }\n }\n}\n\nexport function currentQuarterPeriod(game) {\n const quarter = currentQuarter(game);\n const previousQuarter = game.quarters.find(i => i.quarterNumber === quarter.quarterNumber - 1);\n\n let startOfQuarter = game.endOfRegistrations;\n if (previousQuarter !== undefined && previousQuarter.end !== null) {\n startOfQuarter = previousQuarter.end;\n }\n\n const endOfQuarter = quarter.end;\n\n return {\n start: dateFromUnixTimestamp(startOfQuarter),\n end: dateFromUnixTimestamp(endOfQuarter)\n };\n}\n\nexport function currentQuarterLengthInHours(game) {\n const oneHour = 60*60*1000; // minutes*seconds*milliseconds\n const period = currentQuarterPeriod(game);\n\n if (period.end === null) {\n return 0;\n }\n\n return Math.round((period.end.getTime() - period.start.getTime()) / oneHour);\n}\n\nexport function remainingTimeInCurrentQuarter(game, offset = 0) {\n const periodEnd = currentQuarterPeriod(game).end;\n const now = (new Date()).getTime();\n\n if (periodEnd === null){\n return null;\n }\n\n const difference = periodEnd.getTime() - now - offset;\n\n return difference <= 0 ? -1 : difference;\n}\n\nexport function remainingHoursInCurrentQuarter(game, hourOffset = 0) {\n const oneHour = 60*60*1000; // minutes*seconds*milliseconds\n const remainingSeconds = remainingTimeInCurrentQuarter(game, hourOffset * oneHour);\n\n return Math.floor(remainingSeconds / oneHour);\n}\n\nexport function remainingTimeForLoanRequirement(game) {\n const oneHour = 60*60*1000; // minutes*seconds*milliseconds\n return remainingTimeInCurrentQuarter(game, game.hoursForLoanRequirement * oneHour);\n}\n\nexport function hasGameEnded(game) {\n if (game === undefined) {\n return false;\n } else {\n return game.hasEnded;\n }\n}\n\n\nexport function isRegistrationPeriod(game) {\n if (game === undefined) {\n return false;\n } else {\n return game.isRegistrationPeriod;\n }\n}\n\nexport function isGameRunning(game) {\n if (game === undefined) {\n return false;\n }\n\n const lastInitialYearQuarter = game.initialYear * 4;\n const lastGameQuarter = game.gameYearCount * 4;\n const currentQuarterNumber = currentQuarter(game).quarterNumber;\n\n return currentQuarterNumber > lastInitialYearQuarter && currentQuarterNumber <= lastGameQuarter;\n}\n\n","import React from 'react'\n\nexport const toArray = function (object) {\n return Object.keys(object).map(key => object[key]);\n};\n\nexport const sequenceMap = function (start, end, callback) {\n let results = [];\n const s = (start < end) ? 1 : -1;\n for (let i = start; i !== end + s; i += s) {\n results.push(callback(i));\n }\n return results;\n};\n\nexport const nl2br = function (description) {\n if (description === undefined) {\n return \"\";\n } else {\n return description.split('\\n').map((item, key) => {\n return {item}
\n })\n }\n};\n\nexport const dateFromUnixTimestamp = function(unixTimestamp) {\n if (unixTimestamp === null || unixTimestamp === undefined) {\n return null;\n } else {\n return new Date(unixTimestamp * 1000);\n }\n};\n\nexport function getCurrentLanguage() {\n return localStorage.getItem(\"language\");\n}\n\nexport function getCurrentLocale() {\n return getCurrentLanguage() === \"en\" ? \"en-US\" : \"cs-CZ\";\n}\n\nexport const formatNumber = (number) => {\n return number.toLocaleString(getCurrentLocale(), {maximumFractionDigits: 2});\n};\n\nexport const formatDate = (date) => {\n if (date === null || date === undefined) {\n return \"-\";\n } else {\n return date.toLocaleDateString(getCurrentLocale());\n }\n};\n\nexport const formatDateTime = (date) => {\n if (date === null || date === undefined) {\n return \"-\";\n } else {\n return date.toLocaleString(getCurrentLocale());\n }\n};\n\nexport const formatDateTimeShort = (date) => {\n if (date === null || date === undefined) {\n return \"-\";\n } else {\n const minutes = date.getMinutes();\n const formattedMinutes = minutes < 10 ? \"0\" + minutes : minutes;\n\n if (getCurrentLanguage() === \"en\") {\n return (date.getMonth() + 1) + \"/\" + date.getDate() + \" \" + date.getHours() + \":\" + formattedMinutes;\n } else {\n return date.getDate() + \". \" + (date.getMonth() + 1) + \". \" + date.getHours() + \":\" + formattedMinutes;\n }\n }\n};\n\nexport const firstUpper = (s) => {\n if (typeof s !== 'string') {\n return '';\n } else {\n return s.charAt(0).toUpperCase() + s.slice(1);\n }\n};\n\nexport const sanitize = (str) => {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()\n};\n\nexport const sortSanitized = (arr, key) => {\n return arr.sort((a, b) => sanitize(a[key]) < sanitize(b[key]) ? -1 : 1);\n};\n","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./configureStore.prod')\n} else {\n module.exports = require('./configureStore.dev')\n}\n","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","import mergeWith from \"lodash/mergeWith\";\nimport {DELETE_ALL_ENTITIES_DATA, DELETE_ENTITY_DATA, DELETE_ENTITY_DATA_BY_ID} from \"../actions/entities\";\nimport {entitiesStructure, Schemas} from \"../middleware/sync/schema\";\nimport update from \"immutability-helper\";\nimport * as ActionTypes from \"../actions/sync-modules\";\nimport {toArray} from \"../services/utils\";\nimport {currentQuarter} from \"../services/quarter\";\n\n// Updates an entity cache in response to any action with response.entities.\nexport const entities = (state = entitiesStructure, action) => {\n let newState = state;\n\n let deletedData = deleteEntityData(newState, action);\n if (deletedData !== null) {\n return deletedData;\n }\n\n newState = updateEntityData(newState, action);\n newState = updateOpenedLoanRequirements(newState, action);\n\n return newState;\n};\n\nconst deleteEntityData = (state, action) => {\n if (action.type === DELETE_ENTITY_DATA) {\n const copy = Object.assign({}, state);\n copy[action.entity] = {};\n return copy;\n } else if (action.type === DELETE_ALL_ENTITIES_DATA) {\n return Object.assign({}, entitiesStructure);\n } else if (action.type === DELETE_ENTITY_DATA_BY_ID) {\n return update(state, {[action.entity]: {$unset: [action.id]}});\n }\n\n return null;\n};\n\nconst updateEntityData = (state, action) => {\n if (action.response && action.response.entities) {\n return mergeWith({}, state, action.response.entities, (a, b) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return b; // we do not want to merge arrays, they must be always replaced by new value\n }\n });\n }\n\n return state;\n};\n\nconst updateOpenedLoanRequirements = (state, action) => {\n const key = Schemas.TEACHER_LOAN_REQUIREMENTS.key;\n const gameId = action.gameId;\n\n if (action.type === ActionTypes.UPDATE_OPENED_LOAN_REQUIREMENTS && state.teacherGames[gameId]) {\n const game = state.teacherGames[gameId];\n const requirements = toArray(state[key]);\n const openedRequirements = requirements.filter(i => i.accepted === false && i.acceptedByTeacher === null && i.quarterId === currentQuarter(game).id);\n const count = openedRequirements.length;\n\n return update(state, {teacherGames: {[gameId]: {openedLoanRequirements: {$set: count}}}});\n }\n\n return state;\n};\n","import {combineReducers} from 'redux'\nimport {isAuthenticated, isBeingAuthenticated, profilePicture} from \"./user\";\nimport {errors} from \"./errors\";\nimport {entities} from \"./entities\";\nimport {\n downloadedEntities,\n hasUnsavedChanges,\n isLoadingBasicData,\n isSyncing,\n isWaitingForSync,\n lastSave, syncQueue\n} from \"./sync\";\n\nconst rootReducer = combineReducers({\n entities,\n errors,\n isSyncing,\n lastSave,\n syncQueue,\n isWaitingForSync,\n isAuthenticated,\n isBeingAuthenticated,\n isLoadingBasicData,\n downloadedEntities,\n hasUnsavedChanges,\n profilePicture\n});\n\nexport default rootReducer\n","import {REMOVE_ERROR_MESSAGE, RESET_ERROR_MESSAGE} from \"../actions/errors\";\nimport * as ActionTypes from \"../actions/sync-modules\";\nimport update from \"immutability-helper\";\n\n// Updates error message to notify about the failed fetches.\nexport const errors = (state = [], action) => {\n const {type, error, indexes, id} = action;\n\n if (type === RESET_ERROR_MESSAGE || type === ActionTypes.LOGIN_SUCCESS) { // remove all errors\n return [];\n\n } else if (type === REMOVE_ERROR_MESSAGE && indexes !== undefined) { // remove a concrete error by array indexes\n const sortedIndexes = indexes.sort((a, b) => b - a);\n const splices = sortedIndexes.map(i => [i, 1]);\n return update(state, {$splice: splices});\n\n } else if (type === REMOVE_ERROR_MESSAGE && id !== undefined) { // remove a concrete error by error id\n const index = state.findIndex(i => i.id === id);\n if (index !== -1) {\n return update(state, {$splice: [[index, 1]]});\n }\n\n } else if (error) { // add new error\n let i = error;\n if (error instanceof Error) i = {error: error.message}; // convert Error to json\n return update(state, {$push: [i]});\n\n }\n\n return state\n};\n","import {DELETE_ALL_ENTITIES_DATA, DELETE_ENTITY_DATA} from \"../actions/entities\";\nimport update from \"immutability-helper\";\nimport {START_DOWNLOADING_ENTITY, STOP_DOWNLOADING_ENTITY} from \"../actions/sync-requests\";\nimport {\n ADD_SYNC_REQUEST,\n NEW_CHANGES_WITHOUT_SAVING, REMOVE_FIRST_SYNC_REQUEST,\n SAVED_ALL_CHANGES,\n START_SYNC,\n STOP_SYNC,\n WAIT_FOR_SYNC\n} from \"../actions/sync-queue\";\nimport {START_LOADING_BASIC_DATA} from \"../actions/sync-modules\";\n\nexport const isLoadingBasicData = (state = {isLoading: false, count: 0}, action) => {\n let copy;\n switch (action.type) {\n case START_LOADING_BASIC_DATA:\n copy = Object.assign({}, state);\n copy.isLoading = true;\n return copy;\n\n case START_DOWNLOADING_ENTITY:\n if (state.isLoading) {\n copy = Object.assign({}, state);\n copy.count++;\n return copy;\n }\n return state;\n\n case STOP_DOWNLOADING_ENTITY:\n if (state.isLoading) {\n copy = Object.assign({}, state);\n copy.count--;\n if (copy.count === 0) {\n copy.isLoading = false;\n }\n return copy;\n }\n return state;\n\n default:\n return state;\n }\n};\n\nexport const hasUnsavedChanges = (state = false, action) => {\n switch (action.type) {\n case NEW_CHANGES_WITHOUT_SAVING:\n return true;\n case SAVED_ALL_CHANGES:\n return false;\n default:\n return state;\n }\n};\n\nexport const isWaitingForSync = (state = false, action) => {\n switch (action.type) {\n case WAIT_FOR_SYNC:\n return true;\n case STOP_SYNC:\n return false;\n default:\n return state;\n }\n};\n\nexport const isSyncing = (state = false, action) => {\n switch (action.type) {\n case START_SYNC:\n return true;\n case STOP_SYNC:\n return false;\n default:\n return state;\n }\n};\n\nexport const lastSave = (state = null, action) => {\n switch (action.type) {\n case STOP_SYNC:\n return (new Date()).toLocaleTimeString();\n default:\n return state;\n }\n};\n\nexport const syncQueue = (state = [], action) => {\n switch (action.type) {\n case ADD_SYNC_REQUEST:\n const copy = state.slice();\n\n const existingRequestIndex = copy.findIndex(item => item.id === action.id);\n if (existingRequestIndex !== -1) {\n copy.splice(existingRequestIndex, 1);\n }\n\n copy.push({\n id: action.id,\n request: action.request\n });\n\n return copy;\n\n case REMOVE_FIRST_SYNC_REQUEST:\n const a = state.slice();\n a.shift();\n return a;\n\n default:\n return state;\n }\n};\n\nexport const downloadedEntities = (state = {}, action) => {\n if (action.type === DELETE_ENTITY_DATA) {\n const copy = Object.assign({}, state);\n delete copy[action.entity];\n return copy;\n\n } else if (action.type === DELETE_ALL_ENTITIES_DATA) {\n return {};\n\n } else if (action.entity !== null && action.entity !== undefined) {\n switch (action.type) {\n case START_DOWNLOADING_ENTITY:\n return update(state, {[action.entity]: {$set: false}});\n case STOP_DOWNLOADING_ENTITY:\n return update(state, {[action.entity]: {$set: true}});\n default:\n return state;\n }\n\n } else {\n return state;\n }\n};\n","import * as ActionTypes from \"../actions/sync-modules\";\n\nexport const isAuthenticated = (state = false, action) => {\n switch (action.type) {\n case ActionTypes.LOGIN_SUCCESS:\n case ActionTypes.LOGIN_RESTORED:\n return true;\n case ActionTypes.LOGIN_FAILURE:\n case ActionTypes.LOGOUT:\n return false;\n default:\n return state;\n }\n};\n\nexport const isBeingAuthenticated = (state = false, action) => {\n switch (action.type) {\n case ActionTypes.LOGIN_REQUEST:\n return true;\n case ActionTypes.LOGIN_SUCCESS:\n case ActionTypes.LOGIN_FAILURE:\n case ActionTypes.LOGOUT:\n return false;\n default:\n return state;\n }\n};\n\nexport const profilePicture = (state = null, action) => {\n switch (action.type) {\n case ActionTypes.SET_PROFILE_PICTURE:\n return action.image;\n case ActionTypes.DELETE_PROFILE_PICTURE:\n case ActionTypes.LOGOUT:\n return null;\n default:\n return state;\n }\n}\n","import { createStore, applyMiddleware } from 'redux'\nimport thunk from 'redux-thunk'\nimport api from '../middleware/sync'\nimport rootReducer from '../reducers'\n\nconst configureStore = preloadedState => createStore(\n rootReducer,\n preloadedState,\n applyMiddleware(thunk, api)\n);\n\nexport default configureStore\n","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({ value: _this2.getValue() });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = require('./EventObject');\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n function wrapCallback(e) {\n var ne = new _EventObject2['default'](e);\n callback.call(target, ne);\n }\n\n if (target.addEventListener) {\n var _ret = (function () {\n var useCapture = false;\n if (typeof option === 'object') {\n useCapture = option.capture || false;\n } else if (typeof option === 'boolean') {\n useCapture = option;\n }\n\n target.addEventListener(eventType, wrapCallback, option || false);\n\n return {\n v: {\n remove: function remove() {\n target.removeEventListener(eventType, wrapCallback, useCapture);\n }\n }\n };\n })();\n\n if (typeof _ret === 'object') return _ret.v;\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, wrapCallback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, wrapCallback);\n }\n };\n }\n}\n\nmodule.exports = exports['default'];","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/get-own-property-descriptor\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _getPrototypeOf = require(\"../core-js/object/get-prototype-of\");\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _getOwnPropertyDescriptor = require(\"../core-js/object/get-own-property-descriptor\");\n\nvar _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = (0, _getOwnPropertyDescriptor2.default)(object, property);\n\n if (desc === undefined) {\n var parent = (0, _getPrototypeOf2.default)(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Module dependencies.\n */\n\ntry {\n var index = require('indexof');\n} catch (err) {\n var index = require('component-indexof');\n}\n\n/**\n * Whitespace regexp.\n */\n\nvar re = /\\s+/;\n\n/**\n * toString reference.\n */\n\nvar toString = Object.prototype.toString;\n\n/**\n * Wrap `el` in a `ClassList`.\n *\n * @param {Element} el\n * @return {ClassList}\n * @api public\n */\n\nmodule.exports = function(el){\n return new ClassList(el);\n};\n\n/**\n * Initialize a new ClassList for `el`.\n *\n * @param {Element} el\n * @api private\n */\n\nfunction ClassList(el) {\n if (!el || !el.nodeType) {\n throw new Error('A DOM element reference is required');\n }\n this.el = el;\n this.list = el.classList;\n}\n\n/**\n * Add class `name` if not already present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.add = function(name){\n // classList\n if (this.list) {\n this.list.add(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (!~i) arr.push(name);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove class `name` when present, or\n * pass a regular expression to remove\n * any which match.\n *\n * @param {String|RegExp} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.remove = function(name){\n if ('[object RegExp]' == toString.call(name)) {\n return this.removeMatching(name);\n }\n\n // classList\n if (this.list) {\n this.list.remove(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (~i) arr.splice(i, 1);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove all classes matching `re`.\n *\n * @param {RegExp} re\n * @return {ClassList}\n * @api private\n */\n\nClassList.prototype.removeMatching = function(re){\n var arr = this.array();\n for (var i = 0; i < arr.length; i++) {\n if (re.test(arr[i])) {\n this.remove(arr[i]);\n }\n }\n return this;\n};\n\n/**\n * Toggle class `name`, can force state via `force`.\n *\n * For browsers that support classList, but do not support `force` yet,\n * the mistake will be detected and corrected.\n *\n * @param {String} name\n * @param {Boolean} force\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.toggle = function(name, force){\n // classList\n if (this.list) {\n if (\"undefined\" !== typeof force) {\n if (force !== this.list.toggle(name, force)) {\n this.list.toggle(name); // toggle again to correct\n }\n } else {\n this.list.toggle(name);\n }\n return this;\n }\n\n // fallback\n if (\"undefined\" !== typeof force) {\n if (!force) {\n this.remove(name);\n } else {\n this.add(name);\n }\n } else {\n if (this.has(name)) {\n this.remove(name);\n } else {\n this.add(name);\n }\n }\n\n return this;\n};\n\n/**\n * Return an array of classes.\n *\n * @return {Array}\n * @api public\n */\n\nClassList.prototype.array = function(){\n var className = this.el.getAttribute('class') || '';\n var str = className.replace(/^\\s+|\\s+$/g, '');\n var arr = str.split(re);\n if ('' === arr[0]) arr.shift();\n return arr;\n};\n\n/**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.has =\nClassList.prototype.contains = function(name){\n return this.list\n ? this.list.contains(name)\n : !! ~index(this.array(), name);\n};\n","module.exports = function(arr, obj){\n if (arr.indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","require('../../modules/es6.object.get-own-property-descriptor');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n return $Object.getOwnPropertyDescriptor(it, key);\n};\n","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function () { /* empty */ };\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = true;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = require('./_hide');\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","var objectKeys = require('object-keys');\nvar isArguments = require('is-arguments');\nvar is = require('object-is');\nvar isRegex = require('is-regex');\nvar flags = require('regexp.prototype.flags');\nvar isDate = require('is-date-object');\n\nvar getTime = Date.prototype.getTime;\n\nfunction deepEqual(actual, expected, options) {\n var opts = options || {};\n\n // 7.1. All identical values are equivalent, as determined by ===.\n if (opts.strict ? is(actual, expected) : actual === expected) {\n return true;\n }\n\n // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\n if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\n return opts.strict ? is(actual, expected) : actual == expected;\n }\n\n /*\n * 7.4. For all other Object pairs, including Array objects, equivalence is\n * determined by having the same number of owned properties (as verified\n * with Object.prototype.hasOwnProperty.call), the same set of keys\n * (although not necessarily the same order), equivalent values for every\n * corresponding key, and an identical 'prototype' property. Note: this\n * accounts for both named and indexed properties on Arrays.\n */\n // eslint-disable-next-line no-use-before-define\n return objEquiv(actual, expected, opts);\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer(x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\n return false;\n }\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') {\n return false;\n }\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n /* eslint max-statements: [2, 50] */\n var i, key;\n if (typeof a !== typeof b) { return false; }\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) { return false; }\n\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) { return false; }\n\n if (isArguments(a) !== isArguments(b)) { return false; }\n\n var aIsRegex = isRegex(a);\n var bIsRegex = isRegex(b);\n if (aIsRegex !== bIsRegex) { return false; }\n if (aIsRegex || bIsRegex) {\n return a.source === b.source && flags(a) === flags(b);\n }\n\n if (isDate(a) && isDate(b)) {\n return getTime.call(a) === getTime.call(b);\n }\n\n var aIsBuffer = isBuffer(a);\n var bIsBuffer = isBuffer(b);\n if (aIsBuffer !== bIsBuffer) { return false; }\n if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\n if (a.length !== b.length) { return false; }\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) { return false; }\n }\n return true;\n }\n\n if (typeof a !== typeof b) { return false; }\n\n try {\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n } catch (e) { // happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates hasOwnProperty)\n if (ka.length !== kb.length) { return false; }\n\n // the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n // ~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) { return false; }\n }\n // equivalent values for every corresponding key, and ~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) { return false; }\n }\n\n return true;\n}\n\nmodule.exports = deepEqual;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar functionsHaveNames = function functionsHaveNames() {\n\treturn typeof function f() {}.name === 'string';\n};\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nif (gOPD) {\n\ttry {\n\t\tgOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\tgOPD = null;\n\t}\n}\n\nfunctionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {\n\tif (!functionsHaveNames() || !gOPD) {\n\t\treturn false;\n\t}\n\tvar desc = gOPD(function () {}, 'name');\n\treturn !!desc && !!desc.configurable;\n};\n\nvar $bind = Function.prototype.bind;\n\nfunctionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {\n\treturn functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== '';\n};\n\nmodule.exports = functionsHaveNames;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","// =========\n// = humps =\n// =========\n// Underscore-to-camelCase converter (and vice versa)\n// for strings and object keys\n\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n\n\n;(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i -1) {\n var p = interval.split('-');\n if (p[1] === 'inf') {\n var from = parseInt(p[0], 10);\n return count >= from;\n } else {\n var _from = parseInt(p[0], 10);\n var to = parseInt(p[1], 10);\n return count >= _from && count <= to;\n }\n } else {\n var match = parseInt(interval, 10);\n return match === count;\n }\n}\n\nexports.default = {\n name: 'interval',\n type: 'postProcessor',\n\n options: {\n intervalSeparator: ';',\n intervalRegex: /\\((\\S*)\\).*?\\[((.|\\n)*)\\]/,\n intervalSuffix: '_interval'\n },\n\n setOptions: function setOptions(options) {\n this.options = _extends({}, this.options, options);\n },\n process: function process(value, key, options, translator) {\n var _this = this;\n\n var p = value.split(this.options.intervalSeparator);\n\n var found = void 0;\n p.forEach(function (iv) {\n if (found) return;\n var match = _this.options.intervalRegex.exec(iv);\n\n if (match && intervalMatches(match[1], options.count || 0)) {\n found = match[2];\n }\n });\n\n // not found fallback to classical plural\n if (!found) {\n var newOptions = _extends({}, options);\n if (typeof newOptions.postProcess === 'string') {\n delete newOptions.postProcess;\n } else {\n var index = newOptions.postProcess.indexOf('interval'); // <-- Not supported in -1) {\n newKeys = key.map(function (k) {\n return k.replace(_this.options.intervalSuffix, '');\n });\n }\n if (newKeys) found = translator.translate(newKeys, newOptions);\n }\n\n return found || value;\n }\n};","module.exports = require('./dist/commonjs/index.js').default;\n","var invariant = require('invariant');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar splice = Array.prototype.splice;\n\nvar toString = Object.prototype.toString\nvar type = function(obj) {\n return toString.call(obj).slice(8, -1);\n}\n\nvar assign = Object.assign || /* istanbul ignore next */ function assign(target, source) {\n getAllKeys(source).forEach(function(key) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n });\n return target;\n};\n\nvar getAllKeys = typeof Object.getOwnPropertySymbols === 'function' ?\n function(obj) { return Object.keys(obj).concat(Object.getOwnPropertySymbols(obj)) } :\n /* istanbul ignore next */ function(obj) { return Object.keys(obj) };\n\n/* istanbul ignore next */\nfunction copy(object) {\n if (Array.isArray(object)) {\n return assign(object.constructor(object.length), object)\n } else if (type(object) === 'Map') {\n return new Map(object)\n } else if (type(object) === 'Set') {\n return new Set(object)\n } else if (object && typeof object === 'object') {\n var prototype = Object.getPrototypeOf(object);\n return assign(Object.create(prototype), object);\n } else {\n return object;\n }\n}\n\nfunction newContext() {\n var commands = assign({}, defaultCommands);\n update.extend = function(directive, fn) {\n commands[directive] = fn;\n };\n update.isEquals = function(a, b) { return a === b; };\n\n return update;\n\n function update(object, spec) {\n if (typeof spec === 'function') {\n spec = { $apply: spec };\n }\n\n if (!(Array.isArray(object) && Array.isArray(spec))) {\n invariant(\n !Array.isArray(spec),\n 'update(): You provided an invalid spec to update(). The spec may ' +\n 'not contain an array except as the value of $set, $push, $unshift, ' +\n '$splice or any custom command allowing an array value.'\n );\n }\n\n invariant(\n typeof spec === 'object' && spec !== null,\n 'update(): You provided an invalid spec to update(). The spec and ' +\n 'every included key path must be plain objects containing one of the ' +\n 'following commands: %s.',\n Object.keys(commands).join(', ')\n );\n\n var nextObject = object;\n var index, key;\n getAllKeys(spec).forEach(function(key) {\n if (hasOwnProperty.call(commands, key)) {\n var objectWasNextObject = object === nextObject;\n nextObject = commands[key](spec[key], nextObject, spec, object);\n if (objectWasNextObject && update.isEquals(nextObject, object)) {\n nextObject = object;\n }\n } else {\n var nextValueForKey =\n type(object) === 'Map'\n ? update(object.get(key), spec[key])\n : update(object[key], spec[key]);\n var nextObjectValue =\n type(nextObject) === 'Map'\n ? nextObject.get(key)\n : nextObject[key];\n if (!update.isEquals(nextValueForKey, nextObjectValue) || typeof nextValueForKey === 'undefined' && !hasOwnProperty.call(object, key)) {\n if (nextObject === object) {\n nextObject = copy(object);\n }\n if (type(nextObject) === 'Map') {\n nextObject.set(key, nextValueForKey);\n } else {\n nextObject[key] = nextValueForKey;\n }\n }\n }\n })\n return nextObject;\n }\n\n}\n\nvar defaultCommands = {\n $push: function(value, nextObject, spec) {\n invariantPushAndUnshift(nextObject, spec, '$push');\n return value.length ? nextObject.concat(value) : nextObject;\n },\n $unshift: function(value, nextObject, spec) {\n invariantPushAndUnshift(nextObject, spec, '$unshift');\n return value.length ? value.concat(nextObject) : nextObject;\n },\n $splice: function(value, nextObject, spec, originalObject) {\n invariantSplices(nextObject, spec);\n value.forEach(function(args) {\n invariantSplice(args);\n if (nextObject === originalObject && args.length) nextObject = copy(originalObject);\n splice.apply(nextObject, args);\n });\n return nextObject;\n },\n $set: function(value, nextObject, spec) {\n invariantSet(spec);\n return value;\n },\n $toggle: function(targets, nextObject) {\n invariantSpecArray(targets, '$toggle');\n var nextObjectCopy = targets.length ? copy(nextObject) : nextObject;\n\n targets.forEach(function(target) {\n nextObjectCopy[target] = !nextObject[target];\n });\n\n return nextObjectCopy;\n },\n $unset: function(value, nextObject, spec, originalObject) {\n invariantSpecArray(value, '$unset');\n value.forEach(function(key) {\n if (Object.hasOwnProperty.call(nextObject, key)) {\n if (nextObject === originalObject) nextObject = copy(originalObject);\n delete nextObject[key];\n }\n });\n return nextObject;\n },\n $add: function(value, nextObject, spec, originalObject) {\n invariantMapOrSet(nextObject, '$add');\n invariantSpecArray(value, '$add');\n if (type(nextObject) === 'Map') {\n value.forEach(function(pair) {\n var key = pair[0];\n var value = pair[1];\n if (nextObject === originalObject && nextObject.get(key) !== value) nextObject = copy(originalObject);\n nextObject.set(key, value);\n });\n } else {\n value.forEach(function(value) {\n if (nextObject === originalObject && !nextObject.has(value)) nextObject = copy(originalObject);\n nextObject.add(value);\n });\n }\n return nextObject;\n },\n $remove: function(value, nextObject, spec, originalObject) {\n invariantMapOrSet(nextObject, '$remove');\n invariantSpecArray(value, '$remove');\n value.forEach(function(key) {\n if (nextObject === originalObject && nextObject.has(key)) nextObject = copy(originalObject);\n nextObject.delete(key);\n });\n return nextObject;\n },\n $merge: function(value, nextObject, spec, originalObject) {\n invariantMerge(nextObject, value);\n getAllKeys(value).forEach(function(key) {\n if (value[key] !== nextObject[key]) {\n if (nextObject === originalObject) nextObject = copy(originalObject);\n nextObject[key] = value[key];\n }\n });\n return nextObject;\n },\n $apply: function(value, original) {\n invariantApply(value);\n return value(original);\n }\n};\n\nvar contextForExport = newContext();\n\nmodule.exports = contextForExport;\nmodule.exports.default = contextForExport;\nmodule.exports.newContext = newContext;\n\n// invariants\n\nfunction invariantPushAndUnshift(value, spec, command) {\n invariant(\n Array.isArray(value),\n 'update(): expected target of %s to be an array; got %s.',\n command,\n value\n );\n invariantSpecArray(spec[command], command)\n}\n\nfunction invariantSpecArray(spec, command) {\n invariant(\n Array.isArray(spec),\n 'update(): expected spec of %s to be an array; got %s. ' +\n 'Did you forget to wrap your parameter in an array?',\n command,\n spec\n );\n}\n\nfunction invariantSplices(value, spec) {\n invariant(\n Array.isArray(value),\n 'Expected $splice target to be an array; got %s',\n value\n );\n invariantSplice(spec['$splice']);\n}\n\nfunction invariantSplice(value) {\n invariant(\n Array.isArray(value),\n 'update(): expected spec of $splice to be an array of arrays; got %s. ' +\n 'Did you forget to wrap your parameters in an array?',\n value\n );\n}\n\nfunction invariantApply(fn) {\n invariant(\n typeof fn === 'function',\n 'update(): expected spec of $apply to be a function; got %s.',\n fn\n );\n}\n\nfunction invariantSet(spec) {\n invariant(\n Object.keys(spec).length === 1,\n 'Cannot have more than one key in an object with $set'\n );\n}\n\nfunction invariantMerge(target, specValue) {\n invariant(\n specValue && typeof specValue === 'object',\n 'update(): $merge expects a spec of type \\'object\\'; got %s',\n specValue\n );\n invariant(\n target && typeof target === 'object',\n 'update(): $merge expects a target of type \\'object\\'; got %s',\n target\n );\n}\n\nfunction invariantMapOrSet(target, command) {\n var typeOfTarget = type(target);\n invariant(\n typeOfTarget === 'Map' || typeOfTarget === 'Set',\n 'update(): %s expects a target of type Set or Map; got %s',\n command,\n typeOfTarget\n );\n}\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\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateGetDayCall(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar has;\nvar $exec;\nvar isRegexMarker;\nvar badStringifier;\n\nif (hasToStringTag) {\n\thas = callBound('Object.prototype.hasOwnProperty');\n\t$exec = callBound('RegExp.prototype.exec');\n\tisRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\tbadStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n}\n\nvar $toString = callBound('Object.prototype.toString');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar regexClass = '[object RegExp]';\n\nmodule.exports = hasToStringTag\n\t// eslint-disable-next-line consistent-return\n\t? function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar descriptor = gOPD(value, 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t$exec(value, badStringifier);\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t}\n\t: function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.loadjs = factory();\n }\n}(this, function() {\n/**\n * Global dependencies.\n * @global {Object} document - DOM\n */\n\nvar devnull = function() {},\n bundleIdCache = {},\n bundleResultCache = {},\n bundleCallbackQueue = {};\n\n\n/**\n * Subscribe to bundle load event.\n * @param {string[]} bundleIds - Bundle ids\n * @param {Function} callbackFn - The callback function\n */\nfunction subscribe(bundleIds, callbackFn) {\n // listify\n bundleIds = bundleIds.push ? bundleIds : [bundleIds];\n\n var depsNotFound = [],\n i = bundleIds.length,\n numWaiting = i,\n fn,\n bundleId,\n r,\n q;\n\n // define callback function\n fn = function (bundleId, pathsNotFound) {\n if (pathsNotFound.length) depsNotFound.push(bundleId);\n\n numWaiting--;\n if (!numWaiting) callbackFn(depsNotFound);\n };\n\n // register callback\n while (i--) {\n bundleId = bundleIds[i];\n\n // execute callback if in result cache\n r = bundleResultCache[bundleId];\n if (r) {\n fn(bundleId, r);\n continue;\n }\n\n // add to callback queue\n q = bundleCallbackQueue[bundleId] = bundleCallbackQueue[bundleId] || [];\n q.push(fn);\n }\n}\n\n\n/**\n * Publish bundle load event.\n * @param {string} bundleId - Bundle id\n * @param {string[]} pathsNotFound - List of files not found\n */\nfunction publish(bundleId, pathsNotFound) {\n // exit if id isn't defined\n if (!bundleId) return;\n\n var q = bundleCallbackQueue[bundleId];\n\n // cache result\n bundleResultCache[bundleId] = pathsNotFound;\n\n // exit if queue is empty\n if (!q) return;\n\n // empty callback queue\n while (q.length) {\n q[0](bundleId, pathsNotFound);\n q.splice(0, 1);\n }\n}\n\n\n/**\n * Execute callbacks.\n * @param {Object or Function} args - The callback args\n * @param {string[]} depsNotFound - List of dependencies not found\n */\nfunction executeCallbacks(args, depsNotFound) {\n // accept function as argument\n if (args.call) args = {success: args};\n\n // success and error callbacks\n if (depsNotFound.length) (args.error || devnull)(depsNotFound);\n else (args.success || devnull)(args);\n}\n\n\n/**\n * Load individual file.\n * @param {string} path - The file path\n * @param {Function} callbackFn - The callback function\n */\nfunction loadFile(path, callbackFn, args, numTries) {\n var doc = document,\n async = args.async,\n maxTries = (args.numRetries || 0) + 1,\n beforeCallbackFn = args.before || devnull,\n pathStripped = path.replace(/^(css|img)!/, ''),\n isLegacyIECss,\n e;\n\n numTries = numTries || 0;\n\n if (/(^css!|\\.css$)/.test(path)) {\n // css\n e = doc.createElement('link');\n e.rel = 'stylesheet';\n e.href = pathStripped;\n\n // tag IE9+\n isLegacyIECss = 'hideFocus' in e;\n\n // use preload in IE Edge (to detect load errors)\n if (isLegacyIECss && e.relList) {\n isLegacyIECss = 0;\n e.rel = 'preload';\n e.as = 'style';\n }\n } else if (/(^img!|\\.(png|gif|jpg|svg)$)/.test(path)) {\n // image\n e = doc.createElement('img');\n e.src = pathStripped; \n } else {\n // javascript\n e = doc.createElement('script');\n e.src = path;\n e.async = async === undefined ? true : async;\n }\n\n e.onload = e.onerror = e.onbeforeload = function (ev) {\n var result = ev.type[0];\n\n // treat empty stylesheets as failures to get around lack of onerror\n // support in IE9-11\n if (isLegacyIECss) {\n try {\n if (!e.sheet.cssText.length) result = 'e';\n } catch (x) {\n // sheets objects created from load errors don't allow access to\n // `cssText` (unless error is Code:18 SecurityError)\n if (x.code != 18) result = 'e';\n }\n }\n\n // handle retries in case of load failure\n if (result == 'e') {\n // increment counter\n numTries += 1;\n\n // exit function and try again\n if (numTries < maxTries) {\n return loadFile(path, callbackFn, args, numTries);\n }\n } else if (e.rel == 'preload' && e.as == 'style') {\n // activate preloaded stylesheets\n return e.rel = 'stylesheet'; // jshint ignore:line\n }\n \n // execute callback\n callbackFn(path, result, ev.defaultPrevented);\n };\n\n // add to document (unless callback returns `false`)\n if (beforeCallbackFn(path, e) !== false) doc.head.appendChild(e);\n}\n\n\n/**\n * Load multiple files.\n * @param {string[]} paths - The file paths\n * @param {Function} callbackFn - The callback function\n */\nfunction loadFiles(paths, callbackFn, args) {\n // listify paths\n paths = paths.push ? paths : [paths];\n\n var numWaiting = paths.length,\n x = numWaiting,\n pathsNotFound = [],\n fn,\n i;\n\n // define callback function\n fn = function(path, result, defaultPrevented) {\n // handle error\n if (result == 'e') pathsNotFound.push(path);\n\n // handle beforeload event. If defaultPrevented then that means the load\n // will be blocked (ex. Ghostery/ABP on Safari)\n if (result == 'b') {\n if (defaultPrevented) pathsNotFound.push(path);\n else return;\n }\n\n numWaiting--;\n if (!numWaiting) callbackFn(pathsNotFound);\n };\n\n // load scripts\n for (i=0; i < x; i++) loadFile(paths[i], fn, args);\n}\n\n\n/**\n * Initiate script load and register bundle.\n * @param {(string|string[])} paths - The file paths\n * @param {(string|Function|Object)} [arg1] - The (1) bundleId or (2) success\n * callback or (3) object literal with success/error arguments, numRetries,\n * etc.\n * @param {(Function|Object)} [arg2] - The (1) success callback or (2) object\n * literal with success/error arguments, numRetries, etc.\n */\nfunction loadjs(paths, arg1, arg2) {\n var bundleId,\n args;\n\n // bundleId (if string)\n if (arg1 && arg1.trim) bundleId = arg1;\n\n // args (default is {})\n args = (bundleId ? arg2 : arg1) || {};\n\n // throw error if bundle is already defined\n if (bundleId) {\n if (bundleId in bundleIdCache) {\n throw \"LoadJS\";\n } else {\n bundleIdCache[bundleId] = true;\n }\n }\n\n function loadFn(resolve, reject) {\n loadFiles(paths, function (pathsNotFound) {\n // execute callbacks\n executeCallbacks(args, pathsNotFound);\n \n // resolve Promise\n if (resolve) {\n executeCallbacks({success: resolve, error: reject}, pathsNotFound);\n }\n\n // publish bundle load event\n publish(bundleId, pathsNotFound);\n }, args);\n }\n \n if (args.returnPromise) return new Promise(loadFn);\n else loadFn();\n}\n\n\n/**\n * Execute callbacks when dependencies have been satisfied.\n * @param {(string|string[])} deps - List of bundle ids\n * @param {Object} args - success/error arguments\n */\nloadjs.ready = function ready(deps, args) {\n // subscribe to bundle load event\n subscribe(deps, function (depsNotFound) {\n // execute callbacks\n executeCallbacks(args, depsNotFound);\n });\n\n return loadjs;\n};\n\n\n/**\n * Manually satisfy bundle dependencies.\n * @param {string} bundleId - The bundle id\n */\nloadjs.done = function done(bundleId) {\n publish(bundleId, []);\n};\n\n\n/**\n * Reset loadjs dependencies statuses\n */\nloadjs.reset = function reset() {\n bundleIdCache = {};\n bundleResultCache = {};\n bundleCallbackQueue = {};\n};\n\n\n/**\n * Determine if bundle has already been defined\n * @param String} bundleId - The bundle id\n */\nloadjs.isDefined = function isDefined(bundleId) {\n return bundleId in bundleIdCache;\n};\n\n\n// export\nreturn loadjs;\n\n}));\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nmodule.exports = mergeWith;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = {\n format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n standalone:\n 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\n/**\n * Helpers to enable Immutable compatibility *without* bringing in\n * the 'immutable' package as a dependency.\n */\n\n/**\n * Check if an object is immutable by checking if it has a key specific\n * to the immutable library.\n *\n * @param {any} object\n * @return {bool}\n */\nfunction isImmutable(object) {\n return !!(object && typeof object.hasOwnProperty === 'function' && (object.hasOwnProperty('__ownerID') || // Immutable.Map\n object._map && object._map.hasOwnProperty('__ownerID'))); // Immutable.Record\n}\n/**\n * Denormalize an immutable entity.\n *\n * @param {Schema} schema\n * @param {Immutable.Map|Immutable.Record} input\n * @param {function} unvisit\n * @param {function} getDenormalizedEntity\n * @return {Immutable.Map|Immutable.Record}\n */\n\nfunction denormalizeImmutable(schema, input, unvisit) {\n return Object.keys(schema).reduce(function (object, key) {\n // Immutable maps cast keys to strings on write so we need to ensure\n // we're accessing them using string keys.\n var stringKey = \"\" + key;\n\n if (object.has(stringKey)) {\n return object.set(stringKey, unvisit(object.get(stringKey), schema[stringKey]));\n } else {\n return object;\n }\n }, input);\n}\n\nvar getDefaultGetId = function getDefaultGetId(idAttribute) {\n return function (input) {\n return isImmutable(input) ? input.get(idAttribute) : input[idAttribute];\n };\n};\n\nvar EntitySchema = /*#__PURE__*/function () {\n function EntitySchema(key, definition, options) {\n if (definition === void 0) {\n definition = {};\n }\n\n if (options === void 0) {\n options = {};\n }\n\n if (!key || typeof key !== 'string') {\n throw new Error(\"Expected a string key for Entity, but found \" + key + \".\");\n }\n\n var _options = options,\n _options$idAttribute = _options.idAttribute,\n idAttribute = _options$idAttribute === void 0 ? 'id' : _options$idAttribute,\n _options$mergeStrateg = _options.mergeStrategy,\n mergeStrategy = _options$mergeStrateg === void 0 ? function (entityA, entityB) {\n return _extends({}, entityA, entityB);\n } : _options$mergeStrateg,\n _options$processStrat = _options.processStrategy,\n processStrategy = _options$processStrat === void 0 ? function (input) {\n return _extends({}, input);\n } : _options$processStrat,\n _options$fallbackStra = _options.fallbackStrategy,\n fallbackStrategy = _options$fallbackStra === void 0 ? function (key, schema) {\n return undefined;\n } : _options$fallbackStra;\n this._key = key;\n this._getId = typeof idAttribute === 'function' ? idAttribute : getDefaultGetId(idAttribute);\n this._idAttribute = idAttribute;\n this._mergeStrategy = mergeStrategy;\n this._processStrategy = processStrategy;\n this._fallbackStrategy = fallbackStrategy;\n this.define(definition);\n }\n\n var _proto = EntitySchema.prototype;\n\n _proto.define = function define(definition) {\n this.schema = Object.keys(definition).reduce(function (entitySchema, key) {\n var _extends2;\n\n var schema = definition[key];\n return _extends({}, entitySchema, (_extends2 = {}, _extends2[key] = schema, _extends2));\n }, this.schema || {});\n };\n\n _proto.getId = function getId(input, parent, key) {\n return this._getId(input, parent, key);\n };\n\n _proto.merge = function merge(entityA, entityB) {\n return this._mergeStrategy(entityA, entityB);\n };\n\n _proto.fallback = function fallback(id, schema) {\n return this._fallbackStrategy(id, schema);\n };\n\n _proto.normalize = function normalize(input, parent, key, visit, addEntity, visitedEntities) {\n var _this = this;\n\n var id = this.getId(input, parent, key);\n var entityType = this.key;\n\n if (!(entityType in visitedEntities)) {\n visitedEntities[entityType] = {};\n }\n\n if (!(id in visitedEntities[entityType])) {\n visitedEntities[entityType][id] = [];\n }\n\n if (visitedEntities[entityType][id].some(function (entity) {\n return entity === input;\n })) {\n return id;\n }\n\n visitedEntities[entityType][id].push(input);\n\n var processedEntity = this._processStrategy(input, parent, key);\n\n Object.keys(this.schema).forEach(function (key) {\n if (processedEntity.hasOwnProperty(key) && typeof processedEntity[key] === 'object') {\n var schema = _this.schema[key];\n var resolvedSchema = typeof schema === 'function' ? schema(input) : schema;\n processedEntity[key] = visit(processedEntity[key], processedEntity, key, resolvedSchema, addEntity, visitedEntities);\n }\n });\n addEntity(this, processedEntity, input, parent, key);\n return id;\n };\n\n _proto.denormalize = function denormalize(entity, unvisit) {\n var _this2 = this;\n\n if (isImmutable(entity)) {\n return denormalizeImmutable(this.schema, entity, unvisit);\n }\n\n Object.keys(this.schema).forEach(function (key) {\n if (entity.hasOwnProperty(key)) {\n var schema = _this2.schema[key];\n entity[key] = unvisit(entity[key], schema);\n }\n });\n return entity;\n };\n\n _createClass(EntitySchema, [{\n key: \"key\",\n get: function get() {\n return this._key;\n }\n }, {\n key: \"idAttribute\",\n get: function get() {\n return this._idAttribute;\n }\n }]);\n\n return EntitySchema;\n}();\n\nvar PolymorphicSchema = /*#__PURE__*/function () {\n function PolymorphicSchema(definition, schemaAttribute) {\n if (schemaAttribute) {\n this._schemaAttribute = typeof schemaAttribute === 'string' ? function (input) {\n return input[schemaAttribute];\n } : schemaAttribute;\n }\n\n this.define(definition);\n }\n\n var _proto = PolymorphicSchema.prototype;\n\n _proto.define = function define(definition) {\n this.schema = definition;\n };\n\n _proto.getSchemaAttribute = function getSchemaAttribute(input, parent, key) {\n return !this.isSingleSchema && this._schemaAttribute(input, parent, key);\n };\n\n _proto.inferSchema = function inferSchema(input, parent, key) {\n if (this.isSingleSchema) {\n return this.schema;\n }\n\n var attr = this.getSchemaAttribute(input, parent, key);\n return this.schema[attr];\n };\n\n _proto.normalizeValue = function normalizeValue(value, parent, key, visit, addEntity, visitedEntities) {\n var schema = this.inferSchema(value, parent, key);\n\n if (!schema) {\n return value;\n }\n\n var normalizedValue = visit(value, parent, key, schema, addEntity, visitedEntities);\n return this.isSingleSchema || normalizedValue === undefined || normalizedValue === null ? normalizedValue : {\n id: normalizedValue,\n schema: this.getSchemaAttribute(value, parent, key)\n };\n };\n\n _proto.denormalizeValue = function denormalizeValue(value, unvisit) {\n var schemaKey = isImmutable(value) ? value.get('schema') : value.schema;\n\n if (!this.isSingleSchema && !schemaKey) {\n return value;\n }\n\n var id = this.isSingleSchema ? undefined : isImmutable(value) ? value.get('id') : value.id;\n var schema = this.isSingleSchema ? this.schema : this.schema[schemaKey];\n return unvisit(id || value, schema);\n };\n\n _createClass(PolymorphicSchema, [{\n key: \"isSingleSchema\",\n get: function get() {\n return !this._schemaAttribute;\n }\n }]);\n\n return PolymorphicSchema;\n}();\n\nvar UnionSchema = /*#__PURE__*/function (_PolymorphicSchema) {\n _inheritsLoose(UnionSchema, _PolymorphicSchema);\n\n function UnionSchema(definition, schemaAttribute) {\n if (!schemaAttribute) {\n throw new Error('Expected option \"schemaAttribute\" not found on UnionSchema.');\n }\n\n return _PolymorphicSchema.call(this, definition, schemaAttribute) || this;\n }\n\n var _proto = UnionSchema.prototype;\n\n _proto.normalize = function normalize(input, parent, key, visit, addEntity, visitedEntities) {\n return this.normalizeValue(input, parent, key, visit, addEntity, visitedEntities);\n };\n\n _proto.denormalize = function denormalize(input, unvisit) {\n return this.denormalizeValue(input, unvisit);\n };\n\n return UnionSchema;\n}(PolymorphicSchema);\n\nvar ValuesSchema = /*#__PURE__*/function (_PolymorphicSchema) {\n _inheritsLoose(ValuesSchema, _PolymorphicSchema);\n\n function ValuesSchema() {\n return _PolymorphicSchema.apply(this, arguments) || this;\n }\n\n var _proto = ValuesSchema.prototype;\n\n _proto.normalize = function normalize(input, parent, key, visit, addEntity, visitedEntities) {\n var _this = this;\n\n return Object.keys(input).reduce(function (output, key, index) {\n var _extends2;\n\n var value = input[key];\n return value !== undefined && value !== null ? _extends({}, output, (_extends2 = {}, _extends2[key] = _this.normalizeValue(value, input, key, visit, addEntity, visitedEntities), _extends2)) : output;\n }, {});\n };\n\n _proto.denormalize = function denormalize(input, unvisit) {\n var _this2 = this;\n\n return Object.keys(input).reduce(function (output, key) {\n var _extends3;\n\n var entityOrId = input[key];\n return _extends({}, output, (_extends3 = {}, _extends3[key] = _this2.denormalizeValue(entityOrId, unvisit), _extends3));\n }, {});\n };\n\n return ValuesSchema;\n}(PolymorphicSchema);\n\nvar validateSchema = function validateSchema(definition) {\n var isArray = Array.isArray(definition);\n\n if (isArray && definition.length > 1) {\n throw new Error(\"Expected schema definition to be a single schema, but found \" + definition.length + \".\");\n }\n\n return definition[0];\n};\n\nvar getValues = function getValues(input) {\n return Array.isArray(input) ? input : Object.keys(input).map(function (key) {\n return input[key];\n });\n};\n\nvar normalize = function normalize(schema, input, parent, key, visit, addEntity, visitedEntities) {\n schema = validateSchema(schema);\n var values = getValues(input); // Special case: Arrays pass *their* parent on to their children, since there\n // is not any special information that can be gathered from themselves directly\n\n return values.map(function (value, index) {\n return visit(value, parent, key, schema, addEntity, visitedEntities);\n });\n};\nvar denormalize = function denormalize(schema, input, unvisit) {\n schema = validateSchema(schema);\n return input && input.map ? input.map(function (entityOrId) {\n return unvisit(entityOrId, schema);\n }) : input;\n};\n\nvar ArraySchema = /*#__PURE__*/function (_PolymorphicSchema) {\n _inheritsLoose(ArraySchema, _PolymorphicSchema);\n\n function ArraySchema() {\n return _PolymorphicSchema.apply(this, arguments) || this;\n }\n\n var _proto = ArraySchema.prototype;\n\n _proto.normalize = function normalize(input, parent, key, visit, addEntity, visitedEntities) {\n var _this = this;\n\n var values = getValues(input);\n return values.map(function (value, index) {\n return _this.normalizeValue(value, parent, key, visit, addEntity, visitedEntities);\n }).filter(function (value) {\n return value !== undefined && value !== null;\n });\n };\n\n _proto.denormalize = function denormalize(input, unvisit) {\n var _this2 = this;\n\n return input && input.map ? input.map(function (value) {\n return _this2.denormalizeValue(value, unvisit);\n }) : input;\n };\n\n return ArraySchema;\n}(PolymorphicSchema);\n\nvar _normalize = function normalize(schema, input, parent, key, visit, addEntity, visitedEntities) {\n var object = _extends({}, input);\n\n Object.keys(schema).forEach(function (key) {\n var localSchema = schema[key];\n var resolvedLocalSchema = typeof localSchema === 'function' ? localSchema(input) : localSchema;\n var value = visit(input[key], input, key, resolvedLocalSchema, addEntity, visitedEntities);\n\n if (value === undefined || value === null) {\n delete object[key];\n } else {\n object[key] = value;\n }\n });\n return object;\n};\n\nvar _denormalize = function denormalize(schema, input, unvisit) {\n if (isImmutable(input)) {\n return denormalizeImmutable(schema, input, unvisit);\n }\n\n var object = _extends({}, input);\n\n Object.keys(schema).forEach(function (key) {\n if (object[key] != null) {\n object[key] = unvisit(object[key], schema[key]);\n }\n });\n return object;\n};\n\nvar ObjectSchema = /*#__PURE__*/function () {\n function ObjectSchema(definition) {\n this.define(definition);\n }\n\n var _proto = ObjectSchema.prototype;\n\n _proto.define = function define(definition) {\n this.schema = Object.keys(definition).reduce(function (entitySchema, key) {\n var _extends2;\n\n var schema = definition[key];\n return _extends({}, entitySchema, (_extends2 = {}, _extends2[key] = schema, _extends2));\n }, this.schema || {});\n };\n\n _proto.normalize = function normalize() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _normalize.apply(void 0, [this.schema].concat(args));\n };\n\n _proto.denormalize = function denormalize() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _denormalize.apply(void 0, [this.schema].concat(args));\n };\n\n return ObjectSchema;\n}();\n\nvar visit = function visit(value, parent, key, schema, addEntity, visitedEntities) {\n if (typeof value !== 'object' || !value) {\n return value;\n }\n\n if (typeof schema === 'object' && (!schema.normalize || typeof schema.normalize !== 'function')) {\n var method = Array.isArray(schema) ? normalize : _normalize;\n return method(schema, value, parent, key, visit, addEntity, visitedEntities);\n }\n\n return schema.normalize(value, parent, key, visit, addEntity, visitedEntities);\n};\n\nvar addEntities = function addEntities(entities) {\n return function (schema, processedEntity, value, parent, key) {\n var schemaKey = schema.key;\n var id = schema.getId(value, parent, key);\n\n if (!(schemaKey in entities)) {\n entities[schemaKey] = {};\n }\n\n var existingEntity = entities[schemaKey][id];\n\n if (existingEntity) {\n entities[schemaKey][id] = schema.merge(existingEntity, processedEntity);\n } else {\n entities[schemaKey][id] = processedEntity;\n }\n };\n};\n\nvar schema = {\n Array: ArraySchema,\n Entity: EntitySchema,\n Object: ObjectSchema,\n Union: UnionSchema,\n Values: ValuesSchema\n};\nvar normalize$1 = function normalize(input, schema) {\n if (!input || typeof input !== 'object') {\n throw new Error(\"Unexpected input given to normalize. Expected type to be \\\"object\\\", found \\\"\" + (input === null ? 'null' : typeof input) + \"\\\".\");\n }\n\n var entities = {};\n var addEntity = addEntities(entities);\n var visitedEntities = {};\n var result = visit(input, input, null, schema, addEntity, visitedEntities);\n return {\n entities: entities,\n result: result\n };\n};\n\nvar unvisitEntity = function unvisitEntity(id, schema, unvisit, getEntity, cache) {\n var entity = getEntity(id, schema);\n\n if (entity === undefined && schema instanceof EntitySchema) {\n entity = schema.fallback(id, schema);\n }\n\n if (typeof entity !== 'object' || entity === null) {\n return entity;\n }\n\n if (!cache[schema.key]) {\n cache[schema.key] = {};\n }\n\n if (!cache[schema.key][id]) {\n // Ensure we don't mutate it non-immutable objects\n var entityCopy = isImmutable(entity) ? entity : _extends({}, entity); // Need to set this first so that if it is referenced further within the\n // denormalization the reference will already exist.\n\n cache[schema.key][id] = entityCopy;\n cache[schema.key][id] = schema.denormalize(entityCopy, unvisit);\n }\n\n return cache[schema.key][id];\n};\n\nvar getUnvisit = function getUnvisit(entities) {\n var cache = {};\n var getEntity = getEntities(entities);\n return function unvisit(input, schema) {\n if (typeof schema === 'object' && (!schema.denormalize || typeof schema.denormalize !== 'function')) {\n var method = Array.isArray(schema) ? denormalize : _denormalize;\n return method(schema, input, unvisit);\n }\n\n if (input === undefined || input === null) {\n return input;\n }\n\n if (schema instanceof EntitySchema) {\n return unvisitEntity(input, schema, unvisit, getEntity, cache);\n }\n\n return schema.denormalize(input, unvisit);\n };\n};\n\nvar getEntities = function getEntities(entities) {\n var isImmutable$1 = isImmutable(entities);\n return function (entityOrId, schema) {\n var schemaKey = schema.key;\n\n if (typeof entityOrId === 'object') {\n return entityOrId;\n }\n\n if (isImmutable$1) {\n return entities.getIn([schemaKey, entityOrId.toString()]);\n }\n\n return entities[schemaKey] && entities[schemaKey][entityOrId];\n };\n};\n\nvar denormalize$1 = function denormalize(input, schema, entities) {\n if (typeof input !== 'undefined') {\n return getUnvisit(entities)(input, schema);\n }\n};\n\nexport { denormalize$1 as denormalize, normalize$1 as normalize, schema };\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v16.14.0\n * react-dom.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/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime {\n if (typeof windowAsArg === \"undefined\") {\n return {};\n }\n if (typeof windowAsArg.google === \"undefined\") {\n throw new Error(\"google not in window object. Error in get-google-charts.\");\n }\n return windowAsArg.google;\n};\nconst getGoogleCharts = (windowAsArg = window) => {\n if (typeof windowAsArg === \"undefined\") {\n return {};\n }\n if (typeof windowAsArg.google === \"undefined\") {\n throw new Error(\"google not in window object. Error in get-google-charts.\");\n }\n return windowAsArg.google.charts;\n};\n\nclass GoogleChartLoader {\n constructor() {\n this.isLoaded = false;\n this.isLoading = false;\n this.loadScript = null;\n this.destroy = () => {\n this.isLoading = false;\n this.isLoaded = false;\n this.loadScript = null;\n };\n this.init = (packages, version, language, mapsApiKey) => {\n if ((this.isLoading || this.isLoaded) && this.loadScript !== null) {\n return this.loadScript;\n }\n this.isLoading = true;\n const script =\n typeof window !== \"undefined\"\n ? require(\"loadjs\")\n : (link, { success: callback }) => callback();\n this.loadScript = new Promise(resolve => {\n script(\"https://www.gstatic.com/charts/loader.js\", {\n success: () => {\n const google_charts = getGoogleCharts(window);\n google_charts.load(version || \"current\", {\n packages: packages || [\"corechart\"],\n language: language || \"en\",\n mapsApiKey\n });\n google_charts.setOnLoadCallback(() => {\n this.isLoaded = true;\n this.isLoading = false;\n resolve();\n });\n }\n });\n });\n this.isLoading = true;\n return this.loadScript;\n };\n }\n}\nconst googleChartLoader = new GoogleChartLoader();\n\nlet uniqueID = 0;\nconst generateUniqueID = () => {\n uniqueID += 1;\n return `reactgooglegraph-${uniqueID}`;\n};\nclass Chart extends Component {\n constructor(props) {\n super(props);\n this.chart = null;\n this.wrapper = null;\n this.hidden_columns = {};\n this.dataTable = [];\n this.isUnmounted = false;\n this.onResize = () => {\n this.drawChart();\n };\n this.onSelectToggle = () => {\n if (this.chart === null) return;\n if (!this.props.legend_toggle) {\n return;\n }\n const selection = this.chart.getSelection();\n if (selection.length > 0) {\n if (selection[0].row == null) {\n const column = selection[0].column;\n this.togglePoints(column);\n }\n }\n };\n this.getColumnColor = columnIndex => {\n if (this.props.options && this.props.options.colors) {\n if (this.props.options.colors[columnIndex]) {\n return this.props.options.colors[columnIndex];\n }\n } else if (columnIndex in DEFAULT_COLORS) {\n return DEFAULT_COLORS[columnIndex];\n }\n return DEFAULT_COLORS[0];\n };\n this.applyNumberFormat = (column, options) => {\n const googlefromWindow = getGoogle(window);\n const formatter = new googlefromWindow.visualization.NumberFormat(\n options\n );\n formatter.format(this.dataTable, column);\n };\n this.applyDateFormat = (column, options) => {\n const googlefromWindow = getGoogle(window);\n const formatter = new googlefromWindow.visualization.DateFormat(options);\n formatter.format(this.dataTable, column);\n };\n this.buildDataTableFromProps = () => {\n const chartType = this.props.chartType;\n const googlefromWindow = getGoogle(window);\n if (this.props.diffdata && this.props.chartType !== null) {\n const diffdata = this.props.diffdata;\n const oldData = googlefromWindow.visualization.arrayToDataTable(\n diffdata.old\n );\n const newData = googlefromWindow.visualization.arrayToDataTable(\n diffdata.new\n );\n const computeDiff =\n googlefromWindow.visualization[chartType].prototype.computeDiff;\n const chartDiff = computeDiff(oldData, newData);\n return chartDiff;\n }\n if (\n this.props.data === null &&\n (this.props.rows && this.props.rows.length === 0) &&\n !this.props.allowEmptyRows === false\n ) {\n throw new Error(\n \"Can't build DataTable from rows and columns: rows array in props is empty\"\n );\n } else if (\n this.props.data === null &&\n (this.props.columns && this.props.columns.length === 0)\n ) {\n throw new Error(\n \"Can't build DataTable from rows and columns: columns array in props is empty\"\n );\n }\n if (this.props.data !== null) {\n try {\n this.wrapper.setDataTable(this.props.data);\n const dataTable = this.wrapper.getDataTable();\n return dataTable;\n } catch (err) {\n throw new Error(\"Failed to set DataTable from data props ! \", err);\n }\n }\n const dataTable = new window.google.visualization.DataTable();\n this.props.columns.forEach(column => {\n dataTable.addColumn(column);\n });\n dataTable.addRows(this.props.rows);\n if (this.props.numberFormat) {\n const { column, options } = this.props.numberFormat;\n this.applyNumberFormat(column, options);\n }\n if (this.props.dateFormat) {\n const { columns, options } = this.props.dateFormat;\n columns.forEach(col => {\n this.applyDateFormat(col, options);\n });\n }\n this.props.formatters.forEach(({ type, column, options }) => {\n switch (type) {\n case \"NumberFormat\":\n this.applyNumberFormat(column, options);\n break;\n case \"DateFormat\":\n this.applyDateFormat(column, options);\n break;\n default:\n console.log(`Unkown formatter type: ${type}`);\n break;\n }\n });\n return dataTable;\n };\n this.updateDataTable = () => {\n window.google.visualization.errors.removeAll(\n document.getElementById(this.wrapper.getContainerId())\n );\n this.dataTable.removeRows(0, this.dataTable.getNumberOfRows());\n this.dataTable.removeColumns(0, this.dataTable.getNumberOfColumns());\n this.dataTable = this.buildDataTableFromProps();\n return this.dataTable;\n };\n this.drawChart = () => {\n if (this.isUnmounted) {\n return;\n }\n if (!this.wrapper) {\n const chartConfig = {\n chartType: this.props.chartType,\n options: this.props.options,\n containerId: this.state.graphID\n };\n this.wrapper = new window.google.visualization.ChartWrapper(\n chartConfig\n );\n this.dataTable = this.buildDataTableFromProps();\n this.wrapper.setDataTable(this.dataTable);\n window.google.visualization.events.addOneTimeListener(\n this.wrapper,\n \"ready\",\n () => {\n this.chart = this.wrapper.getChart();\n this.listenToChartEvents();\n this.addChartActions();\n }\n );\n } else {\n this.updateDataTable();\n this.wrapper.setDataTable(this.dataTable);\n this.wrapper.setOptions(this.props.options);\n if (this.wrapper.getChartType() !== this.props.chartType) {\n window.google.visualization.events.removeAllListeners(this.wrapper);\n this.wrapper.setChartType(this.props.chartType);\n const self = this;\n window.google.visualization.events.addOneTimeListener(\n this.wrapper,\n \"ready\",\n () => {\n self.chart = self.wrapper.getChart();\n self.listenToChartEvents.call(self);\n }\n );\n }\n }\n this.wrapper.draw();\n };\n this.addChartActions = () => {\n if (this.props.chartActions === null) {\n return;\n }\n this.props.chartActions.forEach(chartAction => {\n this.chart.setAction({\n id: chartAction.id,\n text: chartAction.text,\n action: chartAction.action.bind(this, this.chart)\n });\n });\n };\n this.listenToChartEvents = () => {\n if (this.props.legend_toggle) {\n window.google.visualization.events.addListener(\n this.wrapper,\n \"select\",\n this.onSelectToggle\n );\n }\n this.props.chartEvents.forEach(chartEvent => {\n if (chartEvent.eventName === \"ready\") {\n chartEvent.callback(this);\n } else {\n (event => {\n window.google.visualization.events.addListener(\n this.chart,\n event.eventName,\n e => {\n event.callback(this, e);\n }\n );\n })(chartEvent);\n }\n });\n };\n this.buildColumnFromSourceData = columnIndex => {\n return {\n label: this.dataTable.getColumnLabel(columnIndex),\n type: this.dataTable.getColumnType(columnIndex),\n sourceColumn: columnIndex,\n role: this.dataTable.getColumnRole(columnIndex)\n };\n };\n this.buildEmptyColumnFromSourceData = columnIndex => {\n return {\n label: this.dataTable.getColumnLabel(columnIndex),\n type: this.dataTable.getColumnType(columnIndex),\n calc: () => null,\n role: this.dataTable.getColumnRole(columnIndex)\n };\n };\n this.addEmptyColumnTo = (columns, columnIndex) => {\n const emptyColumn = this.buildEmptyColumnFromSourceData(columnIndex);\n columns.push(emptyColumn);\n };\n this.hideColumn = (colors, columnIndex) => {\n if (!this.isHidden(columnIndex)) {\n this.hidden_columns[columnIndex] = {\n color: this.getColumnColor(columnIndex - 1)\n };\n }\n colors.push(\"#CCCCCC\");\n };\n this.addSourceColumnTo = (columns, columnIndex) => {\n const sourceColumn = this.buildColumnFromSourceData(columnIndex);\n columns.push(sourceColumn);\n };\n this.isHidden = columnIndex => {\n return this.hidden_columns[columnIndex] !== undefined;\n };\n this.restoreColorTo = (colors, columnIndex) => {\n let previousColor;\n if (this.isHidden(columnIndex)) {\n previousColor = this.hidden_columns[columnIndex].color;\n delete this.hidden_columns[columnIndex];\n } else {\n previousColor = this.getColumnColor(columnIndex - 1);\n }\n if (columnIndex !== 0) {\n colors.push(previousColor);\n }\n };\n this.debounce = (func, wait) => {\n let timeout;\n return function(...args) {\n const context = this;\n clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(context, args), wait);\n };\n };\n this.togglePoints = column => {\n const view = new window.google.visualization.DataView(\n this.wrapper.getDataTable()\n );\n const columnCount = view.getNumberOfColumns();\n let colors = [];\n let columns = [];\n for (let i = 0; i < columnCount; i += 1) {\n if (i === 0) {\n this.addSourceColumnTo(columns, i);\n } else if (i === column) {\n if (this.isHidden(i)) {\n this.addSourceColumnTo(columns, i);\n this.restoreColorTo(colors, i);\n } else {\n this.addEmptyColumnTo(columns, i);\n this.hideColumn(colors, i);\n }\n } else if (this.isHidden(i)) {\n this.addEmptyColumnTo(columns, i);\n this.hideColumn(colors, i);\n } else {\n this.addSourceColumnTo(columns, i);\n this.restoreColorTo(colors, i);\n }\n }\n view.setColumns(columns);\n this.props.options.colors = colors;\n this.chart.draw(view, this.props.options);\n };\n this.state = { graphID: props.graph_id || generateUniqueID() };\n }\n componentDidMount() {\n if (typeof window === \"undefined\") {\n return;\n }\n if (this.props.loadCharts) {\n googleChartLoader\n .init(\n this.props.chartPackages,\n this.props.chartVersion,\n this.props.chartLanguage,\n this.props.mapsApiKey\n )\n .then(() => {\n this.drawChart();\n this.onResize = this.debounce(this.onResize, 200);\n window.addEventListener(\"resize\", this.onResize);\n });\n } else {\n this.drawChart();\n }\n }\n componentDidUpdate() {\n if (!this.props.loadCharts) {\n this.drawChart();\n } else if (googleChartLoader.isLoading) {\n googleChartLoader.loadScript &&\n googleChartLoader.loadScript.then(() => {\n this.drawChart();\n });\n } else if (googleChartLoader.isLoaded) {\n this.drawChart();\n }\n }\n componentWillUnmount() {\n this.isUnmounted = true;\n googleChartLoader.destroy();\n try {\n if (window) {\n if (window.google && window.google.visualization) {\n window.google.visualization.events.removeAllListeners(this.wrapper);\n }\n window.removeEventListener(\"resize\", this.onResize);\n }\n } catch (err) {\n return;\n }\n }\n render() {\n const divStyle = {\n height: this.props.height || this.props.options.height,\n width: this.props.width || this.props.options.width\n };\n return createElement(\n \"div\",\n { id: this.state.graphID, style: divStyle },\n this.props.loader ? this.props.loader : \"Rendering Chart...\"\n );\n }\n}\nChart.defaultProps = {\n chartType: \"LineChart\",\n rows: [],\n columns: [],\n options: {\n chart: {\n title: \"Chart Title\",\n subtitle: \"Subtitle\"\n },\n hAxis: { title: \"X Label\" },\n vAxis: { title: \"Y Label\" },\n width: \"100%\",\n height: \"100%\"\n },\n width: \"400px\",\n height: \"300px\",\n chartEvents: [],\n chartActions: null,\n data: null,\n legend_toggle: false,\n allowEmptyRows: false,\n loadCharts: true,\n loader: createElement(\"div\", null, \"Rendering Chart\"),\n chartPackages: [\"corechart\"],\n chartVersion: \"current\",\n chartLanguage: \"en\",\n numberFormat: null,\n dateFormat: null,\n formatters: [],\n diffdata: null\n};\n\nvar index = { Chart };\n\nexport default index;\nexport { Chart };\n","/** @license React v16.13.1\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';var 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?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(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 A(a){return z(a)===m}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;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===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===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\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","/**\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\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar createHTMLElement = function createHTMLElement(name) {\n return document.createElement(name);\n};\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\n \"div\",\n props,\n contentEl\n );\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\n \"div\",\n props,\n children\n );\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nif (process.env.NODE_ENV !== \"production\") {\n Modal.setCreateHTMLElement = function (fn) {\n return createHTMLElement = fn;\n };\n}\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.openAnimationFrame = requestAnimationFrame(function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n cancelAnimationFrame(this.openAnimationFrame);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n var _arr = [before, after];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var item = _arr[_i];\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n var _arr2 = [before, after];\n for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n var item = _arr2[_i2];\n var check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n var htmlElement = document.getElementsByTagName(\"html\")[0];\n for (var cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n var body = document.body;\n for (var _cls in docBodyClassList) {\n removeClass(body, docBodyClassList[_cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \" (\" + classes + \"):\\n \";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n \";\n }\n\n classes = document.body.className;\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n \";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n \";\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n }\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n console.log(\"focusManager ----------\");\n focusLaterElements.forEach(function (f) {\n var check = f || {};\n console.log(check.nodeName, check.className, check.id);\n });\n console.log(\"end focusManager ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getActiveElement() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n return el.activeElement.shadowRoot ? getActiveElement(el.activeElement.shadowRoot) : el.activeElement;\n}\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n var activeElement = getActiveElement();\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object|iframe/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n var rootNode = element.getRootNode && element.getRootNode();\n while (parentElement) {\n if (parentElement === document.body) break;\n\n // if we are not hidden yet, skip to checking outside the Web Component\n if (rootNode && parentElement === rootNode) parentElement = rootNode.host.parentNode;\n\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n var descendants = [].slice.call(element.querySelectorAll(\"*\"), 0).reduce(function (finished, el) {\n return finished.concat(!el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot));\n }, []);\n return descendants.filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","'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;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\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';\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;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\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\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.isBrowser = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar useCreatePortal = typeof _reactDom[\"default\"].createPortal === 'function';\nvar isBrowser = typeof window !== 'undefined';\nexports.isBrowser = isBrowser;\n\nvar Portal =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal(props) {\n var _this;\n\n _classCallCheck(this, Portal);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Portal).call(this, props));\n\n if (isBrowser) {\n _this.container = document.createElement('div');\n document.body.appendChild(_this.container);\n\n _this.renderLayer();\n }\n\n return _this;\n }\n\n _createClass(Portal, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.renderLayer();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!useCreatePortal) {\n _reactDom[\"default\"].unmountComponentAtNode(this.container);\n }\n\n document.body.removeChild(this.container);\n }\n }, {\n key: \"renderLayer\",\n value: function renderLayer() {\n if (!useCreatePortal) {\n _reactDom[\"default\"].unstable_renderSubtreeIntoContainer(this, this.props.children, this.container);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (useCreatePortal) {\n return _reactDom[\"default\"].createPortal(this.props.children, this.container);\n }\n\n return null;\n }\n }]);\n\n return Portal;\n}(_react[\"default\"].Component);\n\nPortal.propTypes = {\n children: _propTypes[\"default\"].node.isRequired\n};\nvar _default = Portal;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScrollTop = getScrollTop;\nexports.getScrollLeft = getScrollLeft;\nexports.getArrowSpacing = getArrowSpacing;\nexports.getScrollParent = getScrollParent;\nexports.noArrowDistance = exports.bodyPadding = exports.minArrowPadding = void 0;\n\n/**\n * a handful of shared functions and constants\n */\nvar minArrowPadding = 5;\nexports.minArrowPadding = minArrowPadding;\nvar bodyPadding = 10;\nexports.bodyPadding = bodyPadding;\nvar noArrowDistance = 3;\n/**\n * cross browser scroll positions\n */\n\nexports.noArrowDistance = noArrowDistance;\n\nfunction getScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\n\nfunction getScrollLeft() {\n return window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;\n}\n\nfunction getArrowSpacing(props) {\n var defaultArrowSpacing = props.arrow ? props.arrowSize : noArrowDistance;\n return typeof props.distance === 'number' ? props.distance : defaultArrowSpacing;\n}\n/**\n * get first ancestor that might scroll\n */\n\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var scrollParent = window;\n\n if (style.position !== 'fixed') {\n var parent = element.parentElement;\n\n while (parent) {\n var parentStyle = getComputedStyle(parent);\n\n if (/(auto|scroll)/.test(parentStyle.overflow + parentStyle.overflowY + parentStyle.overflowX)) {\n scrollParent = parent;\n parent = undefined;\n } else {\n parent = parent.parentElement;\n }\n }\n }\n\n return scrollParent;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getDirection;\n\nvar _functions = require(\"./functions\");\n\n/**\n * Checks the intended tip direction and falls back if not enough space\n */\nfunction checkLeftRightWidthSufficient(tip, target, distance, bodyPadding) {\n var targetRect = target.getBoundingClientRect();\n var deadSpace = Math.min(targetRect.left, document.documentElement.clientWidth - targetRect.right);\n return tip.offsetWidth + target.offsetWidth + distance + bodyPadding + deadSpace < document.documentElement.clientWidth;\n}\n\nfunction checkTargetSufficientlyVisible(target, tip, props) {\n var targetRect = target.getBoundingClientRect();\n var bottomOverhang = targetRect.bottom > window.innerHeight;\n var topOverhang = targetRect.top < 0; // if the target is taller than the viewport (and we know there's sufficient left/right width before this is called),\n // then go with the left/right direction as top/bottom will both be off screen\n\n if (topOverhang && bottomOverhang) {\n return true;\n } // if the target is bigger than the tip, we need to check if enough of the target is visible\n\n\n if (target.offsetHeight > tip.offsetHeight) {\n var halfTargetHeight = target.offsetHeight / 2;\n var arrowClearance = props.arrowSize + _functions.minArrowPadding;\n var bottomOverhangAmount = targetRect.bottom - window.innerHeight;\n var topOverhangAmount = -targetRect.top;\n var targetCenterToBottomOfWindow = halfTargetHeight - bottomOverhangAmount;\n var targetCenterToTopOfWindow = halfTargetHeight - topOverhangAmount;\n return targetCenterToBottomOfWindow >= arrowClearance && targetCenterToTopOfWindow >= arrowClearance;\n } // otherwise just check that the whole target is visible\n\n\n return !bottomOverhang && !topOverhang;\n}\n\nfunction checkForArrowOverhang(props, arrowStyles, bodyPadding) {\n var scrollLeft = (0, _functions.getScrollLeft)();\n var hasLeftClearance = arrowStyles.positionStyles.left - scrollLeft > bodyPadding;\n var hasRightClearance = arrowStyles.positionStyles.left + props.arrowSize * 2 < scrollLeft + document.documentElement.clientWidth - bodyPadding;\n return !hasLeftClearance || !hasRightClearance;\n}\n\nfunction getDirection(currentDirection, tip, target, props, bodyPadding, arrowStyles, recursive) {\n // can't switch until target is rendered\n if (!target) {\n return currentDirection;\n }\n\n var targetRect = target.getBoundingClientRect();\n var arrowSpacing = (0, _functions.getArrowSpacing)(props); // this is how much space is needed to display the tip above or below the target\n\n var heightOfTipWithArrow = tip.offsetHeight + arrowSpacing + bodyPadding;\n var spaceBelowTarget = window.innerHeight - targetRect.bottom;\n var spaceAboveTarget = targetRect.top;\n var hasSpaceBelow = spaceBelowTarget >= heightOfTipWithArrow;\n var hasSpaceAbove = spaceAboveTarget >= heightOfTipWithArrow;\n\n switch (currentDirection) {\n case 'right':\n // if the window is not wide enough try top (which falls back to down)\n if (!checkLeftRightWidthSufficient(tip, target, arrowSpacing, bodyPadding) || !checkTargetSufficientlyVisible(target, tip, props)) {\n return getDirection('up', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n\n if (document.documentElement.clientWidth - targetRect.right < tip.offsetWidth + arrowSpacing + bodyPadding) {\n return 'left';\n }\n\n return 'right';\n\n case 'left':\n // if the window is not wide enough try top (which falls back to down)\n if (!checkLeftRightWidthSufficient(tip, target, arrowSpacing, bodyPadding) || !checkTargetSufficientlyVisible(target, tip, props)) {\n return getDirection('up', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n\n if (targetRect.left < tip.offsetWidth + arrowSpacing + bodyPadding) {\n return 'right';\n }\n\n return 'left';\n\n case 'up':\n if (!recursive && arrowStyles && checkForArrowOverhang(props, arrowStyles, bodyPadding)) {\n return getDirection('left', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n\n if (!hasSpaceAbove) {\n if (hasSpaceBelow) {\n return 'down';\n }\n\n if (!recursive && checkLeftRightWidthSufficient(tip, target, arrowSpacing, bodyPadding)) {\n return getDirection('right', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n }\n\n return 'up';\n\n case 'down':\n default:\n if (!recursive && arrowStyles && checkForArrowOverhang(props, arrowStyles, bodyPadding)) {\n return getDirection('right', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n\n if (!hasSpaceBelow) {\n // if there's no space below, but space above, switch to that direction\n if (hasSpaceAbove) {\n return 'up'; // if there's not space above or below, check if there would be space left or right\n }\n\n if (!recursive && checkLeftRightWidthSufficient(tip, target, arrowSpacing, bodyPadding)) {\n return getDirection('right', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n } // if there's no space in any direction, default to the original direction\n\n }\n\n return 'down';\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _Portal = _interopRequireWildcard(require(\"./Portal\"));\n\nvar _position = _interopRequireDefault(require(\"./position\"));\n\nvar _functions = require(\"./functions\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// default colors\nvar defaultColor = '#fff';\nvar defaultBg = '#333';\nvar resizeThrottle = 100;\nvar resizeThreshold = 5;\n\nvar stopProp = function stopProp(e) {\n return e.stopPropagation();\n};\n\nvar Tooltip =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Tooltip, _React$Component);\n\n _createClass(Tooltip, null, [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n return _Portal.isBrowser && nextProps.isOpen ? {\n hasBeenShown: true\n } : null;\n }\n }]);\n\n function Tooltip() {\n var _this;\n\n _classCallCheck(this, Tooltip);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Tooltip).call(this));\n\n _defineProperty(_assertThisInitialized(_this), \"debounceTimeout\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"hoverTimeout\", false);\n\n _this.state = {\n showTip: false,\n hasHover: false,\n ignoreShow: false,\n hasBeenShown: false\n };\n _this.showTip = _this.showTip.bind(_assertThisInitialized(_this));\n _this.hideTip = _this.hideTip.bind(_assertThisInitialized(_this));\n _this.checkHover = _this.checkHover.bind(_assertThisInitialized(_this));\n _this.toggleTip = _this.toggleTip.bind(_assertThisInitialized(_this));\n _this.startHover = _this.startHover.bind(_assertThisInitialized(_this));\n _this.endHover = _this.endHover.bind(_assertThisInitialized(_this));\n _this.listenResizeScroll = _this.listenResizeScroll.bind(_assertThisInitialized(_this));\n _this.handleResizeScroll = _this.handleResizeScroll.bind(_assertThisInitialized(_this));\n _this.bodyTouchStart = _this.bodyTouchStart.bind(_assertThisInitialized(_this));\n _this.bodyTouchEnd = _this.bodyTouchEnd.bind(_assertThisInitialized(_this));\n _this.targetTouchStart = _this.targetTouchStart.bind(_assertThisInitialized(_this));\n _this.targetTouchEnd = _this.targetTouchEnd.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // if the isOpen prop is passed on first render we need to immediately trigger a second render,\n // because the tip ref is needed to calculate the position\n if (this.props.isOpen) {\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n isOpen: true\n });\n }\n\n this.scrollParent = (0, _functions.getScrollParent)(this.target);\n window.addEventListener('resize', this.listenResizeScroll);\n this.scrollParent.addEventListener('scroll', this.listenResizeScroll);\n window.addEventListener('touchstart', this.bodyTouchStart);\n window.addEventListener('touchEnd', this.bodyTouchEnd);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_, prevState) {\n // older versions of react won't leverage getDerivedStateFromProps, TODO: remove when < 16.3 support is dropped\n if (!this.state.hasBeenShown && this.props.isOpen) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n hasBeenShown: true\n });\n return setTimeout(this.showTip, 0);\n } // we need to render once to get refs in place, then we can make the calculations on a followup render\n // this only has to happen the first time the tip is shown, and allows us to not render every tip on the page with initial render.\n\n\n if (!prevState.hasBeenShown && this.state.hasBeenShown) {\n this.showTip();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('resize', this.listenResizeScroll);\n this.scrollParent.removeEventListener('scroll', this.listenResizeScroll);\n window.removeEventListener('touchstart', this.bodyTouchStart);\n window.removeEventListener('touchEnd', this.bodyTouchEnd);\n clearTimeout(this.debounceTimeout);\n clearTimeout(this.hoverTimeout);\n }\n }, {\n key: \"listenResizeScroll\",\n value: function listenResizeScroll() {\n clearTimeout(this.debounceTimeout);\n this.debounceTimeout = setTimeout(this.handleResizeScroll, resizeThrottle);\n\n if (this.state.targetTouch) {\n this.setState({\n targetTouch: undefined\n });\n }\n }\n }, {\n key: \"handleResizeScroll\",\n value: function handleResizeScroll() {\n if (this.state.showTip) {\n // if we're showing the tip and the resize was actually a signifigant change, then setState to re-render and calculate position\n var clientWidth = Math.round(document.documentElement.clientWidth / resizeThreshold) * resizeThreshold;\n this.setState({\n clientWidth: clientWidth\n });\n }\n }\n }, {\n key: \"targetTouchStart\",\n value: function targetTouchStart() {\n this.setState({\n targetTouch: true\n });\n }\n }, {\n key: \"targetTouchEnd\",\n value: function targetTouchEnd() {\n if (this.state.targetTouch) {\n this.toggleTip();\n }\n }\n }, {\n key: \"bodyTouchEnd\",\n value: function bodyTouchEnd() {\n if (this.state.targetTouch) {\n this.setState({\n targetTouch: undefined\n });\n }\n }\n }, {\n key: \"bodyTouchStart\",\n value: function bodyTouchStart(e) {\n // if it's a controlled tip we don't want to auto-dismiss, otherwise we just ignore taps inside the tip\n if (!(this.target && this.target.contains(e.target)) && !(this.tip && this.tip.contains(e.target)) && !this.props.isOpen) {\n this.hideTip();\n }\n }\n }, {\n key: \"toggleTip\",\n value: function toggleTip() {\n this.state.showTip ? this.hideTip() : this.showTip();\n }\n }, {\n key: \"showTip\",\n value: function showTip() {\n var _this2 = this;\n\n if (!this.state.hasBeenShown) {\n // this will render once, then fire componentDidUpdate, which will show the tip\n return this.setState({\n hasBeenShown: true\n });\n }\n\n if (!this.state.showTip) {\n this.setState({\n showTip: true\n }, function () {\n if (typeof _this2.props.onToggle === 'function') {\n _this2.props.onToggle(_this2.state.showTip);\n }\n });\n }\n }\n }, {\n key: \"hideTip\",\n value: function hideTip() {\n var _this3 = this;\n\n this.setState({\n hasHover: false\n });\n\n if (this.state.showTip) {\n this.setState({\n showTip: false\n }, function () {\n if (typeof _this3.props.onToggle === 'function') {\n _this3.props.onToggle(_this3.state.showTip);\n }\n });\n }\n }\n }, {\n key: \"startHover\",\n value: function startHover() {\n if (!this.state.ignoreShow) {\n this.setState({\n hasHover: true\n });\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(this.checkHover, this.props.hoverDelay);\n }\n }\n }, {\n key: \"endHover\",\n value: function endHover() {\n this.setState({\n hasHover: false\n });\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(this.checkHover, this.props.mouseOutDelay || this.props.hoverDelay);\n }\n }, {\n key: \"checkHover\",\n value: function checkHover() {\n this.state.hasHover ? this.showTip() : this.hideTip();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n var _this$props = this.props,\n arrow = _this$props.arrow,\n arrowSize = _this$props.arrowSize,\n background = _this$props.background,\n className = _this$props.className,\n children = _this$props.children,\n color = _this$props.color,\n content = _this$props.content,\n direction = _this$props.direction,\n distance = _this$props.distance,\n eventOff = _this$props.eventOff,\n eventOn = _this$props.eventOn,\n eventToggle = _this$props.eventToggle,\n forceDirection = _this$props.forceDirection,\n isOpen = _this$props.isOpen,\n mouseOutDelay = _this$props.mouseOutDelay,\n padding = _this$props.padding,\n styles = _this$props.styles,\n TagName = _this$props.tagName,\n tipContentHover = _this$props.tipContentHover,\n tipContentClassName = _this$props.tipContentClassName,\n useDefaultStyles = _this$props.useDefaultStyles,\n useHover = _this$props.useHover,\n arrowContent = _this$props.arrowContent;\n var isControlledByProps = typeof isOpen !== 'undefined' && isOpen !== null;\n var showTip = isControlledByProps ? isOpen : this.state.showTip;\n\n var wrapperStyles = _objectSpread({\n position: 'relative'\n }, styles);\n\n var props = {\n style: wrapperStyles,\n ref: function ref(target) {\n _this4.target = target;\n },\n className: className\n };\n var portalProps = {\n // keep clicks on the tip from closing click controlled tips\n onClick: stopProp\n }; // event handling\n\n if (eventOff) {\n props[eventOff] = this.hideTip;\n }\n\n if (eventOn) {\n props[eventOn] = this.showTip;\n }\n\n if (eventToggle) {\n props[eventToggle] = this.toggleTip; // only use hover if they don't have a toggle event\n } else if (useHover && !isControlledByProps) {\n props.onMouseEnter = this.startHover;\n props.onMouseLeave = tipContentHover || mouseOutDelay ? this.endHover : this.hideTip;\n props.onTouchStart = this.targetTouchStart;\n props.onTouchEnd = this.targetTouchEnd;\n\n if (tipContentHover) {\n portalProps.onMouseEnter = this.startHover;\n portalProps.onMouseLeave = this.endHover;\n portalProps.onTouchStart = stopProp;\n }\n } // conditional rendering of tip\n\n\n var tipPortal;\n\n if (this.state.hasBeenShown) {\n var currentPositions = (0, _position[\"default\"])(direction, forceDirection, this.tip, this.target, _objectSpread({}, this.state, {\n showTip: showTip\n }), {\n background: useDefaultStyles ? defaultBg : background,\n arrow: arrow,\n arrowSize: arrowSize,\n distance: distance\n });\n\n var tipStyles = _objectSpread({}, currentPositions.tip, {\n background: useDefaultStyles ? defaultBg : background,\n color: useDefaultStyles ? defaultColor : color,\n padding: padding,\n boxSizing: 'border-box',\n zIndex: this.props.zIndex,\n position: 'absolute',\n display: 'inline-block'\n });\n\n var arrowStyles = _objectSpread({}, currentPositions.arrow.positionStyles, arrowContent ? {} : currentPositions.arrow.borderStyles, {\n position: 'absolute',\n width: '0px',\n height: '0px',\n zIndex: this.props.zIndex + 1\n });\n\n tipPortal = _react[\"default\"].createElement(_Portal[\"default\"], null, _react[\"default\"].createElement(\"div\", _extends({}, portalProps, {\n className: typeof tipContentClassName !== 'undefined' ? tipContentClassName : className\n }), _react[\"default\"].createElement(\"span\", {\n className: \"react-tooltip-lite\",\n style: tipStyles,\n ref: function ref(tip) {\n _this4.tip = tip;\n }\n }, content), _react[\"default\"].createElement(\"span\", {\n className: \"react-tooltip-lite-arrow react-tooltip-lite-\".concat(currentPositions.realDirection, \"-arrow\"),\n style: arrowStyles\n }, arrowContent)));\n }\n\n return _react[\"default\"].createElement(TagName, props, children, tipPortal);\n }\n }]);\n\n return Tooltip;\n}(_react[\"default\"].Component);\n\n_defineProperty(Tooltip, \"propTypes\", {\n arrow: _propTypes[\"default\"].bool,\n arrowSize: _propTypes[\"default\"].number,\n background: _propTypes[\"default\"].string,\n children: _propTypes[\"default\"].node.isRequired,\n className: _propTypes[\"default\"].string,\n color: _propTypes[\"default\"].string,\n content: _propTypes[\"default\"].node.isRequired,\n direction: _propTypes[\"default\"].string,\n distance: _propTypes[\"default\"].number,\n eventOff: _propTypes[\"default\"].string,\n eventOn: _propTypes[\"default\"].string,\n eventToggle: _propTypes[\"default\"].string,\n forceDirection: _propTypes[\"default\"].bool,\n hoverDelay: _propTypes[\"default\"].number,\n isOpen: _propTypes[\"default\"].bool,\n mouseOutDelay: _propTypes[\"default\"].number,\n padding: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].number]),\n styles: _propTypes[\"default\"].object,\n tagName: _propTypes[\"default\"].string,\n tipContentHover: _propTypes[\"default\"].bool,\n tipContentClassName: _propTypes[\"default\"].string,\n useDefaultStyles: _propTypes[\"default\"].bool,\n useHover: _propTypes[\"default\"].bool,\n zIndex: _propTypes[\"default\"].number,\n onToggle: _propTypes[\"default\"].func,\n arrowContent: _propTypes[\"default\"].node\n});\n\n_defineProperty(Tooltip, \"defaultProps\", {\n arrow: true,\n arrowSize: 10,\n background: '',\n className: '',\n color: '',\n direction: 'up',\n distance: undefined,\n eventOff: undefined,\n eventOn: undefined,\n eventToggle: undefined,\n forceDirection: false,\n hoverDelay: 200,\n isOpen: undefined,\n mouseOutDelay: undefined,\n padding: '10px',\n styles: {},\n tagName: 'div',\n tipContentHover: false,\n tipContentClassName: undefined,\n useDefaultStyles: false,\n useHover: true,\n zIndex: 1000,\n onToggle: undefined,\n arrowContent: null\n});\n\nvar _default = Tooltip;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = positions;\n\nvar _getDirection = _interopRequireDefault(require(\"./getDirection\"));\n\nvar _functions = require(\"./functions\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Sets tip max width safely for mobile\n */\nfunction getTipMaxWidth() {\n return typeof document !== 'undefined' ? document.documentElement.clientWidth - _functions.bodyPadding * 2 : 1000;\n}\n/**\n * Parses align mode from direction if specified with hyphen, defaulting to middle if not -\n * e.g. 'left-start' is mode 'start' and 'left' would be the default of 'middle'\n */\n\n\nfunction parseAlignMode(direction) {\n var directionArray = direction.split('-');\n\n if (directionArray.length > 1) {\n return directionArray[1];\n }\n\n return 'middle';\n}\n/**\n * Gets wrapper's left position for top/bottom tooltips as well as needed width restriction\n */\n\n\nfunction getUpDownPosition(tip, target, state, direction, alignMode, props) {\n var left = -10000000;\n var top;\n var transform = state.showTip ? undefined : 'translateX(-10000000px)';\n var arrowSpacing = (0, _functions.getArrowSpacing)(props);\n\n if (tip) {\n // get wrapper left position\n var scrollLeft = (0, _functions.getScrollLeft)();\n var targetRect = target.getBoundingClientRect();\n var targetLeft = targetRect.left + scrollLeft;\n var halfTargetWidth = Math.round(target.offsetWidth / 2);\n var tipWidth = Math.min(getTipMaxWidth(), tip.offsetWidth);\n var arrowCenter = targetLeft + halfTargetWidth;\n var arrowLeft = arrowCenter - props.arrowSize;\n var arrowRight = arrowCenter + props.arrowSize;\n\n if (alignMode === 'start') {\n left = props.arrow ? Math.min(arrowLeft, targetLeft) : targetLeft;\n } else if (alignMode === 'end') {\n var rightWithArrow = Math.max(arrowRight, targetLeft + target.offsetWidth);\n var rightEdge = props.arrow ? rightWithArrow : targetLeft + target.offsetWidth;\n left = Math.max(rightEdge - tipWidth, _functions.bodyPadding + scrollLeft);\n } else {\n var centeredLeft = targetLeft + halfTargetWidth - Math.round(tipWidth / 2);\n var availableSpaceOnLeft = _functions.bodyPadding + scrollLeft;\n left = Math.max(centeredLeft, availableSpaceOnLeft);\n } // check for right overhang\n\n\n var rightOfTip = left + tipWidth;\n var rightOfScreen = scrollLeft + document.documentElement.clientWidth - _functions.bodyPadding;\n var rightOverhang = rightOfTip - rightOfScreen;\n\n if (rightOverhang > 0) {\n left -= rightOverhang;\n }\n\n if (direction === 'up') {\n top = targetRect.top + (0, _functions.getScrollTop)() - (tip.offsetHeight + arrowSpacing);\n } else {\n top = targetRect.bottom + (0, _functions.getScrollTop)() + arrowSpacing;\n }\n }\n\n return {\n left: left,\n top: top,\n transform: transform\n };\n}\n/**\n * gets top position for left/right arrows\n */\n\n\nfunction getLeftRightPosition(tip, target, state, direction, alignMode, props) {\n var left = -10000000;\n var top = 0;\n var transform = state.showTip ? undefined : 'translateX(-10000000px)';\n var arrowSpacing = (0, _functions.getArrowSpacing)(props);\n var arrowPadding = props.arrow ? _functions.minArrowPadding : 0;\n\n if (tip) {\n var scrollTop = (0, _functions.getScrollTop)();\n var scrollLeft = (0, _functions.getScrollLeft)();\n var targetRect = target.getBoundingClientRect();\n var targetTop = targetRect.top + scrollTop;\n var halfTargetHeight = Math.round(target.offsetHeight / 2);\n var arrowTop = targetTop + halfTargetHeight - props.arrowSize;\n var arrowBottom = targetRect.top + scrollTop + halfTargetHeight + props.arrowSize; // TODO: handle close to edges better\n\n if (alignMode === 'start') {\n top = props.arrow ? Math.min(targetTop, arrowTop) : targetTop;\n } else if (alignMode === 'end') {\n var topForBottomAlign = targetRect.bottom + scrollTop - tip.offsetHeight;\n top = props.arrow ? Math.max(topForBottomAlign, arrowBottom - tip.offsetHeight) : topForBottomAlign;\n } else {\n // default to middle, but don't go below body\n var centeredTop = Math.max(targetTop + halfTargetHeight - Math.round(tip.offsetHeight / 2), _functions.bodyPadding + scrollTop); // make sure it doesn't go below the arrow\n\n top = Math.min(centeredTop, arrowTop - arrowPadding);\n } // check for bottom overhang\n\n\n var bottomOverhang = top - scrollTop + tip.offsetHeight + _functions.bodyPadding - window.innerHeight;\n\n if (bottomOverhang > 0) {\n // try to add the body padding below the tip, but don't offset too far from the arrow\n top = Math.max(top - bottomOverhang, arrowBottom + arrowPadding - tip.offsetHeight);\n }\n\n if (direction === 'right') {\n left = targetRect.right + arrowSpacing + scrollLeft;\n } else {\n left = targetRect.left - arrowSpacing - tip.offsetWidth + scrollLeft;\n }\n }\n\n return {\n left: left,\n top: top,\n transform: transform\n };\n}\n/**\n * sets the Arrow styles based on direction\n */\n\n\nfunction getArrowStyles(target, tip, direction, state, props) {\n if (!target || !props.arrow) {\n return {\n positionStyles: {\n top: '0',\n left: '-10000000px'\n }\n };\n }\n\n var targetRect = target.getBoundingClientRect();\n var halfTargetHeight = Math.round(target.offsetHeight / 2);\n var halfTargetWidth = Math.round(target.offsetWidth / 2);\n var scrollTop = (0, _functions.getScrollTop)();\n var scrollLeft = (0, _functions.getScrollLeft)();\n var arrowSpacing = (0, _functions.getArrowSpacing)(props);\n var borderStyles = {};\n var positionStyles = {};\n\n switch (direction) {\n case 'right':\n borderStyles.borderTop = \"\".concat(props.arrowSize, \"px solid transparent\");\n borderStyles.borderBottom = \"\".concat(props.arrowSize, \"px solid transparent\");\n\n if (props.background) {\n borderStyles.borderRight = \"\".concat(props.arrowSize, \"px solid \").concat(props.background);\n } else {\n borderStyles.borderRightWidth = \"\".concat(props.arrowSize, \"px\");\n borderStyles.borderRightStyle = 'solid';\n }\n\n positionStyles.top = state.showTip && tip ? targetRect.top + scrollTop + halfTargetHeight - props.arrowSize : '-10000000px';\n positionStyles.left = targetRect.right + scrollLeft + arrowSpacing - props.arrowSize;\n break;\n\n case 'left':\n borderStyles.borderTop = \"\".concat(props.arrowSize, \"px solid transparent\");\n borderStyles.borderBottom = \"\".concat(props.arrowSize, \"px solid transparent\");\n\n if (props.background) {\n borderStyles.borderLeft = \"\".concat(props.arrowSize, \"px solid \").concat(props.background);\n } else {\n borderStyles.borderLeftWidth = \"\".concat(props.arrowSize, \"px\");\n borderStyles.borderLeftStyle = 'solid';\n }\n\n positionStyles.top = state.showTip && tip ? targetRect.top + scrollTop + halfTargetHeight - props.arrowSize : '-10000000px';\n positionStyles.left = targetRect.left + scrollLeft - arrowSpacing - 1;\n break;\n\n case 'up':\n borderStyles.borderLeft = \"\".concat(props.arrowSize, \"px solid transparent\");\n borderStyles.borderRight = \"\".concat(props.arrowSize, \"px solid transparent\"); // if color is styled with css, we need everything except border-color, if styled with props, we add entire border rule\n\n if (props.background) {\n borderStyles.borderTop = \"\".concat(props.arrowSize, \"px solid \").concat(props.background);\n } else {\n borderStyles.borderTopWidth = \"\".concat(props.arrowSize, \"px\");\n borderStyles.borderTopStyle = 'solid';\n }\n\n positionStyles.left = state.showTip && tip ? targetRect.left + scrollLeft + halfTargetWidth - props.arrowSize : '-10000000px';\n positionStyles.top = targetRect.top + scrollTop - arrowSpacing;\n break;\n\n case 'down':\n default:\n borderStyles.borderLeft = \"\".concat(props.arrowSize, \"px solid transparent\");\n borderStyles.borderRight = \"\".concat(props.arrowSize, \"px solid transparent\");\n\n if (props.background) {\n borderStyles.borderBottom = \"10px solid \".concat(props.background);\n } else {\n borderStyles.borderBottomWidth = \"\".concat(props.arrowSize, \"px\");\n borderStyles.borderBottomStyle = 'solid';\n }\n\n positionStyles.left = state.showTip && tip ? targetRect.left + scrollLeft + halfTargetWidth - props.arrowSize : '-10000000px';\n positionStyles.top = targetRect.bottom + scrollTop + arrowSpacing - props.arrowSize;\n break;\n }\n\n return {\n borderStyles: borderStyles,\n positionStyles: positionStyles\n };\n}\n/**\n * Returns the positions style rules\n */\n\n\nfunction positions(direction, forceDirection, tip, target, state, props) {\n var alignMode = parseAlignMode(direction);\n var trimmedDirection = direction.split('-')[0];\n var realDirection = trimmedDirection;\n\n if (!forceDirection && tip) {\n var testArrowStyles = props.arrow && getArrowStyles(target, tip, trimmedDirection, state, props);\n realDirection = (0, _getDirection[\"default\"])(trimmedDirection, tip, target, props, _functions.bodyPadding, testArrowStyles);\n }\n\n var maxWidth = getTipMaxWidth(); // force the tip to display the width we measured everything at when visible\n\n var width;\n\n if (tip) {\n // adding the exact width on the first render forces a bogus line break, so add 1px the first time\n var spacer = tip.style.width ? 0 : 1;\n width = Math.min(tip.offsetWidth, maxWidth) + spacer;\n }\n\n var tipPosition = realDirection === 'up' || realDirection === 'down' ? getUpDownPosition(tip, target, state, realDirection, alignMode, props) : getLeftRightPosition(tip, target, state, realDirection, alignMode, props);\n return {\n tip: _objectSpread({}, tipPosition, {\n maxWidth: maxWidth,\n width: width\n }),\n arrow: getArrowStyles(target, tip, realDirection, state, props),\n realDirection: realDirection\n };\n}","/** @license React v16.14.0\n * react-jsx-runtime.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'use strict';var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v16.14.0\n * react.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';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}","function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}","'use strict';\n\nvar functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames();\n\nvar $Object = Object;\nvar $TypeError = TypeError;\n\nmodule.exports = function flags() {\n\tif (this != null && this !== $Object(this)) {\n\t\tthrow new $TypeError('RegExp.prototype.flags getter called on non-object');\n\t}\n\tvar result = '';\n\tif (this.hasIndices) {\n\t\tresult += 'd';\n\t}\n\tif (this.global) {\n\t\tresult += 'g';\n\t}\n\tif (this.ignoreCase) {\n\t\tresult += 'i';\n\t}\n\tif (this.multiline) {\n\t\tresult += 'm';\n\t}\n\tif (this.dotAll) {\n\t\tresult += 's';\n\t}\n\tif (this.unicode) {\n\t\tresult += 'u';\n\t}\n\tif (this.sticky) {\n\t\tresult += 'y';\n\t}\n\treturn result;\n};\n\nif (functionsHaveConfigurableNames && Object.defineProperty) {\n\tObject.defineProperty(module.exports, 'name', { value: 'get flags' });\n}\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar flagsBound = callBind(getPolyfill());\n\ndefine(flagsBound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = flagsBound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar $gOPD = Object.getOwnPropertyDescriptor;\n\nmodule.exports = function getPolyfill() {\n\tif (supportsDescriptors && (/a/mig).flags === 'gim') {\n\t\tvar descriptor = $gOPD(RegExp.prototype, 'flags');\n\t\tif (\n\t\t\tdescriptor\n\t\t\t&& typeof descriptor.get === 'function'\n\t\t\t&& typeof RegExp.prototype.dotAll === 'boolean'\n\t\t\t&& typeof RegExp.prototype.hasIndices === 'boolean'\n\t\t) {\n\t\t\t/* eslint getter-return: 0 */\n\t\t\tvar calls = '';\n\t\t\tvar o = {};\n\t\t\tObject.defineProperty(o, 'hasIndices', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'd';\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.defineProperty(o, 'sticky', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'y';\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (calls === 'dy') {\n\t\t\t\treturn descriptor.get;\n\t\t\t}\n\t\t}\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar getPolyfill = require('./polyfill');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar TypeErr = TypeError;\nvar getProto = Object.getPrototypeOf;\nvar regex = /a/;\n\nmodule.exports = function shimFlags() {\n\tif (!supportsDescriptors || !getProto) {\n\t\tthrow new TypeErr('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\n\t}\n\tvar polyfill = getPolyfill();\n\tvar proto = getProto(regex);\n\tvar descriptor = gOPD(proto, 'flags');\n\tif (!descriptor || descriptor.get !== polyfill) {\n\t\tdefineProperty(proto, 'flags', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: polyfill\n\t\t});\n\t}\n\treturn polyfill;\n};\n","/** @license React v0.19.1\n * scheduler.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';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\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 warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n this._pendingLocation = location;\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\nfunction Prompt({ message, when = true }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n if (!when || context.staticContext) return null;\n\n const method = context.history.block;\n\n return (\n {\n self.release = method(message);\n }}\n onUpdate={(self, prevProps) => {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n }}\n onUnmount={self => {\n self.release();\n }}\n message={message}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n const messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nexport default Prompt;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n \n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a `\n );\n return (\n \n );\n }}\n \n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import PropTypes from 'prop-types';\nexport var subscriptionShape = PropTypes.shape({\n trySubscribe: PropTypes.func.isRequired,\n tryUnsubscribe: PropTypes.func.isRequired,\n notifyNestedSubs: PropTypes.func.isRequired,\n isSubscribed: PropTypes.func.isRequired\n});\nexport var storeShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n});","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React, { Component, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { storeShape, subscriptionShape } from '../utils/PropTypes';\nimport warning from '../utils/warning';\nvar prefixUnsafeLifecycleMethods = typeof React.forwardRef !== \"undefined\";\nvar didWarnAboutReceivingStore = false;\n\nfunction warnAboutReceivingStore() {\n if (didWarnAboutReceivingStore) {\n return;\n }\n\n didWarnAboutReceivingStore = true;\n warning(' does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reduxjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n}\n\nexport function createProvider(storeKey) {\n var _Provider$childContex;\n\n if (storeKey === void 0) {\n storeKey = 'store';\n }\n\n var subscriptionKey = storeKey + \"Subscription\";\n\n var Provider =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[storeKey] = this[storeKey], _ref[subscriptionKey] = null, _ref;\n };\n\n function Provider(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this[storeKey] = props.store;\n return _this;\n }\n\n _proto.render = function render() {\n return Children.only(this.props.children);\n };\n\n return Provider;\n }(Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // Use UNSAFE_ event name where supported\n var eventName = prefixUnsafeLifecycleMethods ? 'UNSAFE_componentWillReceiveProps' : 'componentWillReceiveProps';\n\n Provider.prototype[eventName] = function (nextProps) {\n if (this[storeKey] !== nextProps.store) {\n warnAboutReceivingStore();\n }\n };\n }\n\n Provider.propTypes = {\n store: storeShape.isRequired,\n children: PropTypes.element.isRequired\n };\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[storeKey] = storeShape.isRequired, _Provider$childContex[subscriptionKey] = subscriptionShape, _Provider$childContex);\n return Provider;\n}\nexport default createProvider();","// encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\nvar CLEARED = null;\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n // the current/next pattern is copied from redux's createStore code.\n // TODO: refactor+expose that code to be reusable here?\n var current = [];\n var next = [];\n return {\n clear: function clear() {\n next = CLEARED;\n current = CLEARED;\n },\n notify: function notify() {\n var listeners = current = next;\n\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n },\n get: function get() {\n return next;\n },\n subscribe: function subscribe(listener) {\n var isSubscribed = true;\n if (next === current) next = current.slice();\n next.push(listener);\n return function unsubscribe() {\n if (!isSubscribed || current === CLEARED) return;\n isSubscribed = false;\n if (next === current) next = current.slice();\n next.splice(next.indexOf(listener), 1);\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub, onStateChange) {\n this.store = store;\n this.parentSub = parentSub;\n this.onStateChange = onStateChange;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.onStateChange) : this.store.subscribe(this.onStateChange);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexport { Subscription as default };","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport invariant from 'invariant';\nimport React, { Component, createElement } from 'react';\nimport { isValidElementType } from 'react-is';\nimport Subscription from '../utils/Subscription';\nimport { storeShape, subscriptionShape } from '../utils/PropTypes';\nvar prefixUnsafeLifecycleMethods = typeof React.forwardRef !== \"undefined\";\nvar hotReloadingVersion = 0;\nvar dummyState = {};\n\nfunction noop() {}\n\nfunction makeSelectorStateful(sourceSelector, store) {\n // wrap the selector in an object that tracks its results between runs.\n var selector = {\n run: function runComponentSelector(props) {\n try {\n var nextProps = sourceSelector(store.getState(), props);\n\n if (nextProps !== selector.props || selector.error) {\n selector.shouldComponentUpdate = true;\n selector.props = nextProps;\n selector.error = null;\n }\n } catch (error) {\n selector.shouldComponentUpdate = true;\n selector.error = error;\n }\n }\n };\n return selector;\n}\n\nexport default function connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory, // options object:\n_ref) {\n var _contextTypes, _childContextTypes;\n\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\"]);\n\n var subscriptionKey = storeKey + 'Subscription';\n var version = hotReloadingVersion++;\n var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = storeShape, _contextTypes[subscriptionKey] = subscriptionShape, _contextTypes);\n var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = subscriptionShape, _childContextTypes);\n return function wrapWithConnect(WrappedComponent) {\n invariant(isValidElementType(WrappedComponent), \"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + JSON.stringify(WrappedComponent)));\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n withRef: withRef,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent // TODO Actually fix our use of componentWillReceiveProps\n\n /* eslint-disable react/no-deprecated */\n\n });\n\n var Connect =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(Connect, _Component);\n\n function Connect(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n invariant(_this.store, \"Could not find \\\"\" + storeKey + \"\\\" in either the context or props of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + (\"or explicitly pass \\\"\" + storeKey + \"\\\" as a prop to \\\"\" + displayName + \"\\\".\"));\n\n _this.initSelector();\n\n _this.initSubscription();\n\n return _this;\n }\n\n var _proto = Connect.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref3;\n\n // If this component received store from props, its subscription should be transparent\n // to any descendants receiving store+subscription from context; it passes along\n // subscription passed to it. Otherwise, it shadows the parent subscription, which allows\n // Connect to control ordering of notifications to flow top-down.\n var subscription = this.propsMode ? null : this.subscription;\n return _ref3 = {}, _ref3[subscriptionKey] = subscription || this.context[subscriptionKey], _ref3;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n if (!shouldHandleStateChanges) return; // componentWillMount fires during server side rendering, but componentDidMount and\n // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.\n // Otherwise, unsubscription would never take place during SSR, causing a memory leak.\n // To handle the case where a child component may have triggered a state change by\n // dispatching an action in its componentWillMount, we have to re-run the select and maybe\n // re-render.\n\n this.subscription.trySubscribe();\n this.selector.run(this.props);\n if (this.selector.shouldComponentUpdate) this.forceUpdate();\n }; // Note: this is renamed below to the UNSAFE_ version in React >=16.3.0\n\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n this.selector.run(nextProps);\n };\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate() {\n return this.selector.shouldComponentUpdate;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.subscription) this.subscription.tryUnsubscribe();\n this.subscription = null;\n this.notifyNestedSubs = noop;\n this.store = null;\n this.selector.run = noop;\n this.selector.shouldComponentUpdate = false;\n };\n\n _proto.getWrappedInstance = function getWrappedInstance() {\n invariant(withRef, \"To access the wrapped instance, you need to specify \" + (\"{ withRef: true } in the options argument of the \" + methodName + \"() call.\"));\n return this.wrappedInstance;\n };\n\n _proto.setWrappedInstance = function setWrappedInstance(ref) {\n this.wrappedInstance = ref;\n };\n\n _proto.initSelector = function initSelector() {\n var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);\n this.selector = makeSelectorStateful(sourceSelector, this.store);\n this.selector.run(this.props);\n };\n\n _proto.initSubscription = function initSubscription() {\n if (!shouldHandleStateChanges) return; // parentSub's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];\n this.subscription = new Subscription(this.store, parentSub, this.onStateChange.bind(this)); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `this.subscription` will then be null. An\n // extra null check every change can be avoided by copying the method onto `this` and then\n // replacing it with a no-op on unmount. This can probably be avoided if Subscription's\n // listeners logic is changed to not call listeners that have been unsubscribed in the\n // middle of the notification loop.\n\n this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);\n };\n\n _proto.onStateChange = function onStateChange() {\n this.selector.run(this.props);\n\n if (!this.selector.shouldComponentUpdate) {\n this.notifyNestedSubs();\n } else {\n this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;\n this.setState(dummyState);\n }\n };\n\n _proto.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {\n // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it\n // needs to notify nested subs. Once called, it unimplements itself until further state\n // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does\n // a boolean check every time avoids an extra method call most of the time, resulting\n // in some perf boost.\n this.componentDidUpdate = undefined;\n this.notifyNestedSubs();\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.subscription) && this.subscription.isSubscribed();\n };\n\n _proto.addExtraProps = function addExtraProps(props) {\n if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props; // make a shallow copy so that fields added don't leak to the original selector.\n // this is especially important for 'ref' since that's a reference back to the component\n // instance. a singleton memoized selector would then be holding a reference to the\n // instance, preventing the instance from being garbage collected, and that would be bad\n\n var withExtras = _extends({}, props);\n\n if (withRef) withExtras.ref = this.setWrappedInstance;\n if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;\n if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;\n return withExtras;\n };\n\n _proto.render = function render() {\n var selector = this.selector;\n selector.shouldComponentUpdate = false;\n\n if (selector.error) {\n throw selector.error;\n } else {\n return createElement(WrappedComponent, this.addExtraProps(selector.props));\n }\n };\n\n return Connect;\n }(Component);\n\n if (prefixUnsafeLifecycleMethods) {\n // Use UNSAFE_ event name where supported\n Connect.prototype.UNSAFE_componentWillReceiveProps = Connect.prototype.componentWillReceiveProps;\n delete Connect.prototype.componentWillReceiveProps;\n }\n /* eslint-enable react/no-deprecated */\n\n\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n Connect.childContextTypes = childContextTypes;\n Connect.contextTypes = contextTypes;\n Connect.propTypes = contextTypes;\n\n if (process.env.NODE_ENV !== 'production') {\n // Use UNSAFE_ event name where supported\n var eventName = prefixUnsafeLifecycleMethods ? 'UNSAFE_componentWillUpdate' : 'componentWillUpdate';\n\n Connect.prototype[eventName] = function componentWillUpdate() {\n var _this2 = this;\n\n // We are hot reloading!\n if (this.version !== version) {\n this.version = version;\n this.initSelector(); // If any connected descendants don't hot reload (and resubscribe in the process), their\n // listeners will be lost when we unsubscribe. Unfortunately, by copying over all\n // listeners, this does mean that the old versions of connected descendants will still be\n // notified of state changes; however, their onStateChange function is a no-op so this\n // isn't a huge deal.\n\n var oldListeners = [];\n\n if (this.subscription) {\n oldListeners = this.subscription.listeners.get();\n this.subscription.tryUnsubscribe();\n }\n\n this.initSubscription();\n\n if (shouldHandleStateChanges) {\n this.subscription.trySubscribe();\n oldListeners.forEach(function (listener) {\n return _this2.subscription.listeners.subscribe(listener);\n });\n }\n }\n };\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","var hasOwn = Object.prototype.hasOwnProperty;\n\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n// \n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n// \n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n// \n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n// \n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n// \n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import { bindActionCreators } from 'redux';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\n connect is a facade over connectAdvanced. It turns its args into a compatible\n selectorFactory, which has the signature:\n\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\n \n connect passes its args to connectAdvanced as options, which will in turn pass them to\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\n\n selectorFactory returns a final props selector from its mapStateToProps,\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\n mergePropsFactories, and pure args.\n\n The resulting final props selector is called by the Connect component instance whenever\n it receives new props or store state.\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default createConnect();","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst Loader = ({isLarge = true}) => {\n const className = isLarge ? \"large-loading\" : \"small-loading\";\n return (\n
\n
\n
\n );\n};\n\nLoader.propTypes = {\n isLarge: PropTypes.bool\n};\n\nexport default Loader\n","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\n/* eslint-disable react/prop-types */\nimport React from 'react';\n\nvar Track = function Track(props) {\n var _ref, _ref2;\n\n var className = props.className,\n included = props.included,\n vertical = props.vertical,\n offset = props.offset,\n length = props.length,\n style = props.style,\n reverse = props.reverse;\n\n var positonStyle = vertical ? (_ref = {}, _defineProperty(_ref, reverse ? 'top' : 'bottom', offset + '%'), _defineProperty(_ref, reverse ? 'bottom' : 'top', 'auto'), _defineProperty(_ref, 'height', length + '%'), _ref) : (_ref2 = {}, _defineProperty(_ref2, reverse ? 'right' : 'left', offset + '%'), _defineProperty(_ref2, reverse ? 'left' : 'right', 'auto'), _defineProperty(_ref2, 'width', length + '%'), _ref2);\n\n var elStyle = _extends({}, style, positonStyle);\n return included ? React.createElement('div', { className: className, style: elStyle }) : null;\n};\n\nexport default Track;","import addDOMEventListener from 'add-dom-event-listener';\nimport ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n return addDOMEventListener(target, eventType, callback, option);\n}","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport warning from 'warning';\n\nvar calcPoints = function calcPoints(vertical, marks, dots, step, min, max) {\n warning(dots ? step > 0 : true, '`Slider[step]` should be a positive number in order to make Slider[dots] work.');\n var points = Object.keys(marks).map(parseFloat).sort(function (a, b) {\n return a - b;\n });\n if (dots && step) {\n for (var i = min; i <= max; i += step) {\n if (points.indexOf(i) === -1) {\n points.push(i);\n }\n }\n }\n return points;\n};\n\nvar Steps = function Steps(_ref) {\n var prefixCls = _ref.prefixCls,\n vertical = _ref.vertical,\n reverse = _ref.reverse,\n marks = _ref.marks,\n dots = _ref.dots,\n step = _ref.step,\n included = _ref.included,\n lowerBound = _ref.lowerBound,\n upperBound = _ref.upperBound,\n max = _ref.max,\n min = _ref.min,\n dotStyle = _ref.dotStyle,\n activeDotStyle = _ref.activeDotStyle;\n\n var range = max - min;\n var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) {\n var _classNames;\n\n var offset = Math.abs(point - min) / range * 100 + '%';\n\n var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n var style = vertical ? _extends({}, dotStyle, _defineProperty({}, reverse ? 'top' : 'bottom', offset)) : _extends({}, dotStyle, _defineProperty({}, reverse ? 'right' : 'left', offset));\n if (isActived) {\n style = _extends({}, style, activeDotStyle);\n }\n\n var pointClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + '-dot', true), _defineProperty(_classNames, prefixCls + '-dot-active', isActived), _defineProperty(_classNames, prefixCls + '-dot-reverse', reverse), _classNames));\n\n return React.createElement('span', { className: pointClassName, style: style, key: point });\n });\n\n return React.createElement(\n 'div',\n { className: prefixCls + '-step' },\n elements\n );\n};\n\nSteps.propTypes = {\n prefixCls: PropTypes.string,\n activeDotStyle: PropTypes.object,\n dotStyle: PropTypes.object,\n min: PropTypes.number,\n max: PropTypes.number,\n upperBound: PropTypes.number,\n lowerBound: PropTypes.number,\n included: PropTypes.bool,\n dots: PropTypes.bool,\n step: PropTypes.number,\n marks: PropTypes.object,\n vertical: PropTypes.bool,\n reverse: PropTypes.bool\n};\n\nexport default Steps;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nvar Marks = function Marks(_ref) {\n var className = _ref.className,\n vertical = _ref.vertical,\n reverse = _ref.reverse,\n marks = _ref.marks,\n included = _ref.included,\n upperBound = _ref.upperBound,\n lowerBound = _ref.lowerBound,\n max = _ref.max,\n min = _ref.min,\n onClickLabel = _ref.onClickLabel;\n\n var marksKeys = Object.keys(marks);\n\n var range = max - min;\n var elements = marksKeys.map(parseFloat).sort(function (a, b) {\n return a - b;\n }).map(function (point) {\n var _classNames;\n\n var markPoint = marks[point];\n var markPointIsObject = typeof markPoint === 'object' && !React.isValidElement(markPoint);\n var markLabel = markPointIsObject ? markPoint.label : markPoint;\n if (!markLabel && markLabel !== 0) {\n return null;\n }\n\n var isActive = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n var markClassName = classNames((_classNames = {}, _defineProperty(_classNames, className + '-text', true), _defineProperty(_classNames, className + '-text-active', isActive), _classNames));\n\n var bottomStyle = _defineProperty({\n marginBottom: '-50%'\n }, reverse ? 'top' : 'bottom', (point - min) / range * 100 + '%');\n\n var leftStyle = _defineProperty({\n transform: 'translateX(-50%)',\n msTransform: 'translateX(-50%)'\n }, reverse ? 'right' : 'left', reverse ? (point - min / 4) / range * 100 + '%' : (point - min) / range * 100 + '%');\n\n var style = vertical ? bottomStyle : leftStyle;\n var markStyle = markPointIsObject ? _extends({}, style, markPoint.style) : style;\n return React.createElement(\n 'span',\n {\n className: markClassName,\n style: markStyle,\n key: point,\n onMouseDown: function onMouseDown(e) {\n return onClickLabel(e, point);\n },\n onTouchStart: function onTouchStart(e) {\n return onClickLabel(e, point);\n }\n },\n markLabel\n );\n });\n\n return React.createElement(\n 'div',\n { className: className },\n elements\n );\n};\n\nMarks.propTypes = {\n className: PropTypes.string,\n vertical: PropTypes.bool,\n reverse: PropTypes.bool,\n marks: PropTypes.object,\n included: PropTypes.bool,\n upperBound: PropTypes.number,\n lowerBound: PropTypes.number,\n max: PropTypes.number,\n min: PropTypes.number,\n onClickLabel: PropTypes.func\n};\n\nexport default Marks;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport addEventListener from 'rc-util/es/Dom/addEventListener';\n\nvar Handle = function (_React$Component) {\n _inherits(Handle, _React$Component);\n\n function Handle() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Handle);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Handle.__proto__ || Object.getPrototypeOf(Handle)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n clickFocused: false\n }, _this.setHandleRef = function (node) {\n _this.handle = node;\n }, _this.handleMouseUp = function () {\n if (document.activeElement === _this.handle) {\n _this.setClickFocus(true);\n }\n }, _this.handleMouseDown = function () {\n // fix https://github.com/ant-design/ant-design/issues/15324\n _this.focus();\n }, _this.handleBlur = function () {\n _this.setClickFocus(false);\n }, _this.handleKeyDown = function () {\n _this.setClickFocus(false);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Handle, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n // mouseup won't trigger if mouse moved out of handle,\n // so we listen on document here.\n this.onMouseUpListener = addEventListener(document, 'mouseup', this.handleMouseUp);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.onMouseUpListener) {\n this.onMouseUpListener.remove();\n }\n }\n }, {\n key: 'setClickFocus',\n value: function setClickFocus(focused) {\n this.setState({ clickFocused: focused });\n }\n }, {\n key: 'clickFocus',\n value: function clickFocus() {\n this.setClickFocus(true);\n this.focus();\n }\n }, {\n key: 'focus',\n value: function focus() {\n this.handle.focus();\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.handle.blur();\n }\n }, {\n key: 'render',\n value: function render() {\n var _ref2, _ref3;\n\n var _props = this.props,\n prefixCls = _props.prefixCls,\n vertical = _props.vertical,\n reverse = _props.reverse,\n offset = _props.offset,\n style = _props.style,\n disabled = _props.disabled,\n min = _props.min,\n max = _props.max,\n value = _props.value,\n tabIndex = _props.tabIndex,\n restProps = _objectWithoutProperties(_props, ['prefixCls', 'vertical', 'reverse', 'offset', 'style', 'disabled', 'min', 'max', 'value', 'tabIndex']);\n\n var className = classNames(this.props.className, _defineProperty({}, prefixCls + '-handle-click-focused', this.state.clickFocused));\n var positionStyle = vertical ? (_ref2 = {}, _defineProperty(_ref2, reverse ? 'top' : 'bottom', offset + '%'), _defineProperty(_ref2, reverse ? 'bottom' : 'top', 'auto'), _defineProperty(_ref2, 'transform', 'translateY(+50%)'), _ref2) : (_ref3 = {}, _defineProperty(_ref3, reverse ? 'right' : 'left', offset + '%'), _defineProperty(_ref3, reverse ? 'left' : 'right', 'auto'), _defineProperty(_ref3, 'transform', 'translateX(' + (reverse ? '+' : '-') + '50%)'), _ref3);\n var elStyle = _extends({}, style, positionStyle);\n\n var _tabIndex = tabIndex || 0;\n if (disabled || tabIndex === null) {\n _tabIndex = null;\n }\n\n return React.createElement('div', _extends({\n ref: this.setHandleRef,\n tabIndex: _tabIndex\n }, restProps, {\n className: className,\n style: elStyle,\n onBlur: this.handleBlur,\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleMouseDown\n\n // aria attribute\n , role: 'slider',\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-disabled': !!disabled\n }));\n }\n }]);\n\n return Handle;\n}(React.Component);\n\nexport default Handle;\n\n\nHandle.propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n vertical: PropTypes.bool,\n offset: PropTypes.number,\n style: PropTypes.object,\n disabled: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n tabIndex: PropTypes.number,\n reverse: PropTypes.bool\n};","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n\n if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n\n default:\n return true;\n }\n },\n\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport { findDOMNode } from 'react-dom';\nimport keyCode from 'rc-util/es/KeyCode';\n\nexport function isEventFromHandle(e, handles) {\n try {\n return Object.keys(handles).some(function (key) {\n return e.target === findDOMNode(handles[key]);\n });\n } catch (error) {\n return false;\n }\n}\n\nexport function isValueOutOfRange(value, _ref) {\n var min = _ref.min,\n max = _ref.max;\n\n return value < min || value > max;\n}\n\nexport function isNotTouchEvent(e) {\n return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;\n}\n\nexport function getClosestPoint(val, _ref2) {\n var marks = _ref2.marks,\n step = _ref2.step,\n min = _ref2.min,\n max = _ref2.max;\n\n var points = Object.keys(marks).map(parseFloat);\n if (step !== null) {\n var maxSteps = Math.floor((max - min) / step);\n var steps = Math.min((val - min) / step, maxSteps);\n var closestStep = Math.round(steps) * step + min;\n points.push(closestStep);\n }\n var diffs = points.map(function (point) {\n return Math.abs(val - point);\n });\n return points[diffs.indexOf(Math.min.apply(Math, _toConsumableArray(diffs)))];\n}\n\nexport function getPrecision(step) {\n var stepString = step.toString();\n var precision = 0;\n if (stepString.indexOf('.') >= 0) {\n precision = stepString.length - stepString.indexOf('.') - 1;\n }\n return precision;\n}\n\nexport function getMousePosition(vertical, e) {\n return vertical ? e.clientY : e.pageX;\n}\n\nexport function getTouchPosition(vertical, e) {\n return vertical ? e.touches[0].clientY : e.touches[0].pageX;\n}\n\nexport function getHandleCenterPosition(vertical, handle) {\n var coords = handle.getBoundingClientRect();\n return vertical ? coords.top + coords.height * 0.5 : window.pageXOffset + coords.left + coords.width * 0.5;\n}\n\nexport function ensureValueInRange(val, _ref3) {\n var max = _ref3.max,\n min = _ref3.min;\n\n if (val <= min) {\n return min;\n }\n if (val >= max) {\n return max;\n }\n return val;\n}\n\nexport function ensureValuePrecision(val, props) {\n var step = props.step;\n\n var closestPoint = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\n\nexport function pauseEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nexport function calculateNextValue(func, value, props) {\n var operations = {\n increase: function increase(a, b) {\n return a + b;\n },\n decrease: function decrease(a, b) {\n return a - b;\n }\n };\n\n var indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n var keyToGet = Object.keys(props.marks)[indexToGet];\n\n if (props.step) {\n return operations[func](value, props.step);\n } else if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n return props.marks[keyToGet];\n }\n return value;\n}\n\nexport function getKeyboardValueMutator(e, vertical, reverse) {\n var increase = 'increase';\n var decrease = 'decrease';\n var method = increase;\n switch (e.keyCode) {\n case keyCode.UP:\n method = vertical && reverse ? decrease : increase;break;\n case keyCode.RIGHT:\n method = !vertical && reverse ? decrease : increase;break;\n case keyCode.DOWN:\n method = vertical && reverse ? increase : decrease;break;\n case keyCode.LEFT:\n method = !vertical && reverse ? increase : decrease;break;\n\n case keyCode.END:\n return function (value, props) {\n return props.max;\n };\n case keyCode.HOME:\n return function (value, props) {\n return props.min;\n };\n case keyCode.PAGE_UP:\n return function (value, props) {\n return value + props.step * 2;\n };\n case keyCode.PAGE_DOWN:\n return function (value, props) {\n return value - props.step * 2;\n };\n\n default:\n return undefined;\n }\n return function (value, props) {\n return calculateNextValue(method, value, props);\n };\n}","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _get from 'babel-runtime/helpers/get';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport addEventListener from 'rc-util/es/Dom/addEventListener';\nimport classNames from 'classnames';\nimport warning from 'warning';\nimport Steps from './Steps';\nimport Marks from './Marks';\nimport Handle from '../Handle';\nimport * as utils from '../utils';\n\nfunction noop() {}\n\nexport default function createSlider(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_Component) {\n _inherits(ComponentEnhancer, _Component);\n\n function ComponentEnhancer(props) {\n _classCallCheck(this, ComponentEnhancer);\n\n var _this = _possibleConstructorReturn(this, (ComponentEnhancer.__proto__ || Object.getPrototypeOf(ComponentEnhancer)).call(this, props));\n\n _this.onMouseDown = function (e) {\n if (e.button !== 0) {\n return;\n }\n\n var isVertical = _this.props.vertical;\n var position = utils.getMousePosition(isVertical, e);\n if (!utils.isEventFromHandle(e, _this.handlesRefs)) {\n _this.dragOffset = 0;\n } else {\n var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n _this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n _this.removeDocumentEvents();\n _this.onStart(position);\n _this.addDocumentMouseEvents();\n };\n\n _this.onTouchStart = function (e) {\n if (utils.isNotTouchEvent(e)) return;\n\n var isVertical = _this.props.vertical;\n var position = utils.getTouchPosition(isVertical, e);\n if (!utils.isEventFromHandle(e, _this.handlesRefs)) {\n _this.dragOffset = 0;\n } else {\n var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n _this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n _this.onStart(position);\n _this.addDocumentTouchEvents();\n utils.pauseEvent(e);\n };\n\n _this.onFocus = function (e) {\n var _this$props = _this.props,\n onFocus = _this$props.onFocus,\n vertical = _this$props.vertical;\n\n if (utils.isEventFromHandle(e, _this.handlesRefs)) {\n var handlePosition = utils.getHandleCenterPosition(vertical, e.target);\n _this.dragOffset = 0;\n _this.onStart(handlePosition);\n utils.pauseEvent(e);\n if (onFocus) {\n onFocus(e);\n }\n }\n };\n\n _this.onBlur = function (e) {\n var onBlur = _this.props.onBlur;\n\n _this.onEnd();\n if (onBlur) {\n onBlur(e);\n }\n };\n\n _this.onMouseUp = function () {\n if (_this.handlesRefs[_this.prevMovedHandleIndex]) {\n _this.handlesRefs[_this.prevMovedHandleIndex].clickFocus();\n }\n };\n\n _this.onMouseMove = function (e) {\n if (!_this.sliderRef) {\n _this.onEnd();\n return;\n }\n var position = utils.getMousePosition(_this.props.vertical, e);\n _this.onMove(e, position - _this.dragOffset);\n };\n\n _this.onTouchMove = function (e) {\n if (utils.isNotTouchEvent(e) || !_this.sliderRef) {\n _this.onEnd();\n return;\n }\n\n var position = utils.getTouchPosition(_this.props.vertical, e);\n _this.onMove(e, position - _this.dragOffset);\n };\n\n _this.onKeyDown = function (e) {\n if (_this.sliderRef && utils.isEventFromHandle(e, _this.handlesRefs)) {\n _this.onKeyboard(e);\n }\n };\n\n _this.onClickMarkLabel = function (e, value) {\n e.stopPropagation();\n _this.onChange({ value: value });\n _this.setState({ value: value }, function () {\n return _this.onEnd(true);\n });\n };\n\n _this.saveSlider = function (slider) {\n _this.sliderRef = slider;\n };\n\n var step = props.step,\n max = props.max,\n min = props.min;\n\n var isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n warning(step && Math.floor(step) === step ? isPointDiffEven : true, 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)', max - min, step);\n _this.handlesRefs = {};\n return _this;\n }\n\n _createClass(ComponentEnhancer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n // Snapshot testing cannot handle refs, so be sure to null-check this.\n this.document = this.sliderRef && this.sliderRef.ownerDocument;\n\n var _props = this.props,\n autoFocus = _props.autoFocus,\n disabled = _props.disabled;\n\n if (autoFocus && !disabled) {\n this.focus();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (_get(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'componentWillUnmount', this)) _get(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'componentWillUnmount', this).call(this);\n this.removeDocumentEvents();\n }\n }, {\n key: 'getSliderStart',\n value: function getSliderStart() {\n var slider = this.sliderRef;\n var _props2 = this.props,\n vertical = _props2.vertical,\n reverse = _props2.reverse;\n\n var rect = slider.getBoundingClientRect();\n if (vertical) {\n return reverse ? rect.bottom : rect.top;\n }\n return window.pageXOffset + (reverse ? rect.right : rect.left);\n }\n }, {\n key: 'getSliderLength',\n value: function getSliderLength() {\n var slider = this.sliderRef;\n if (!slider) {\n return 0;\n }\n\n var coords = slider.getBoundingClientRect();\n return this.props.vertical ? coords.height : coords.width;\n }\n }, {\n key: 'addDocumentTouchEvents',\n value: function addDocumentTouchEvents() {\n // just work for Chrome iOS Safari and Android Browser\n this.onTouchMoveListener = addEventListener(this.document, 'touchmove', this.onTouchMove);\n this.onTouchUpListener = addEventListener(this.document, 'touchend', this.onEnd);\n }\n }, {\n key: 'addDocumentMouseEvents',\n value: function addDocumentMouseEvents() {\n this.onMouseMoveListener = addEventListener(this.document, 'mousemove', this.onMouseMove);\n this.onMouseUpListener = addEventListener(this.document, 'mouseup', this.onEnd);\n }\n }, {\n key: 'removeDocumentEvents',\n value: function removeDocumentEvents() {\n /* eslint-disable no-unused-expressions */\n this.onTouchMoveListener && this.onTouchMoveListener.remove();\n this.onTouchUpListener && this.onTouchUpListener.remove();\n\n this.onMouseMoveListener && this.onMouseMoveListener.remove();\n this.onMouseUpListener && this.onMouseUpListener.remove();\n /* eslint-enable no-unused-expressions */\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (!this.props.disabled) {\n this.handlesRefs[0].focus();\n }\n }\n }, {\n key: 'blur',\n value: function blur() {\n var _this2 = this;\n\n if (!this.props.disabled) {\n Object.keys(this.handlesRefs).forEach(function (key) {\n if (_this2.handlesRefs[key] && _this2.handlesRefs[key].blur) {\n _this2.handlesRefs[key].blur();\n }\n });\n }\n }\n }, {\n key: 'calcValue',\n value: function calcValue(offset) {\n var _props3 = this.props,\n vertical = _props3.vertical,\n min = _props3.min,\n max = _props3.max;\n\n var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n var value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n return value;\n }\n }, {\n key: 'calcValueByPos',\n value: function calcValueByPos(position) {\n var sign = this.props.reverse ? -1 : +1;\n var pixelOffset = sign * (position - this.getSliderStart());\n var nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n return nextValue;\n }\n }, {\n key: 'calcOffset',\n value: function calcOffset(value) {\n var _props4 = this.props,\n min = _props4.min,\n max = _props4.max;\n\n var ratio = (value - min) / (max - min);\n return ratio * 100;\n }\n }, {\n key: 'saveHandle',\n value: function saveHandle(index, handle) {\n this.handlesRefs[index] = handle;\n }\n }, {\n key: 'render',\n value: function render() {\n var _classNames;\n\n var _props5 = this.props,\n prefixCls = _props5.prefixCls,\n className = _props5.className,\n marks = _props5.marks,\n dots = _props5.dots,\n step = _props5.step,\n included = _props5.included,\n disabled = _props5.disabled,\n vertical = _props5.vertical,\n reverse = _props5.reverse,\n min = _props5.min,\n max = _props5.max,\n children = _props5.children,\n maximumTrackStyle = _props5.maximumTrackStyle,\n style = _props5.style,\n railStyle = _props5.railStyle,\n dotStyle = _props5.dotStyle,\n activeDotStyle = _props5.activeDotStyle;\n\n var _get$call = _get(ComponentEnhancer.prototype.__proto__ || Object.getPrototypeOf(ComponentEnhancer.prototype), 'render', this).call(this),\n tracks = _get$call.tracks,\n handles = _get$call.handles;\n\n var sliderClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-with-marks', Object.keys(marks).length), _defineProperty(_classNames, prefixCls + '-disabled', disabled), _defineProperty(_classNames, prefixCls + '-vertical', vertical), _defineProperty(_classNames, className, className), _classNames));\n return React.createElement(\n 'div',\n {\n ref: this.saveSlider,\n className: sliderClassName,\n onTouchStart: disabled ? noop : this.onTouchStart,\n onMouseDown: disabled ? noop : this.onMouseDown,\n onMouseUp: disabled ? noop : this.onMouseUp,\n onKeyDown: disabled ? noop : this.onKeyDown,\n onFocus: disabled ? noop : this.onFocus,\n onBlur: disabled ? noop : this.onBlur,\n style: style\n },\n React.createElement('div', {\n className: prefixCls + '-rail',\n style: _extends({}, maximumTrackStyle, railStyle)\n }),\n tracks,\n React.createElement(Steps, {\n prefixCls: prefixCls,\n vertical: vertical,\n reverse: reverse,\n marks: marks,\n dots: dots,\n step: step,\n included: included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max: max,\n min: min,\n dotStyle: dotStyle,\n activeDotStyle: activeDotStyle\n }),\n handles,\n React.createElement(Marks, {\n className: prefixCls + '-mark',\n onClickLabel: disabled ? noop : this.onClickMarkLabel,\n vertical: vertical,\n marks: marks,\n included: included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max: max,\n min: min,\n reverse: reverse\n }),\n children\n );\n }\n }]);\n\n return ComponentEnhancer;\n }(Component), _class.displayName = 'ComponentEnhancer(' + Component.displayName + ')', _class.propTypes = _extends({}, Component.propTypes, {\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n marks: PropTypes.object,\n included: PropTypes.bool,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n children: PropTypes.any,\n onBeforeChange: PropTypes.func,\n onChange: PropTypes.func,\n onAfterChange: PropTypes.func,\n handle: PropTypes.func,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n style: PropTypes.object,\n reverse: PropTypes.bool,\n minimumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n maximumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n handleStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n trackStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n railStyle: PropTypes.object,\n dotStyle: PropTypes.object,\n activeDotStyle: PropTypes.object,\n autoFocus: PropTypes.bool,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func\n }), _class.defaultProps = _extends({}, Component.defaultProps, {\n prefixCls: 'rc-slider',\n className: '',\n min: 0,\n max: 100,\n step: 1,\n marks: {},\n handle: function handle(_ref) {\n var index = _ref.index,\n restProps = _objectWithoutProperties(_ref, ['index']);\n\n delete restProps.dragging;\n if (restProps.value === null) {\n return null;\n }\n\n return React.createElement(Handle, _extends({}, restProps, { key: index }));\n },\n\n onBeforeChange: noop,\n onChange: noop,\n onAfterChange: noop,\n included: true,\n disabled: false,\n dots: false,\n vertical: false,\n reverse: false,\n trackStyle: [{}],\n handleStyle: [{}],\n railStyle: {},\n dotStyle: {},\n activeDotStyle: {}\n }), _temp;\n}","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n/* eslint-disable react/prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nvar Slider = function (_React$Component) {\n _inherits(Slider, _React$Component);\n\n function Slider(props) {\n _classCallCheck(this, Slider);\n\n var _this = _possibleConstructorReturn(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, props));\n\n _this.onEnd = function (force) {\n var dragging = _this.state.dragging;\n\n _this.removeDocumentEvents();\n if (dragging || force) {\n _this.props.onAfterChange(_this.getValue());\n }\n _this.setState({ dragging: false });\n };\n\n var defaultValue = props.defaultValue !== undefined ? props.defaultValue : props.min;\n var value = props.value !== undefined ? props.value : defaultValue;\n\n _this.state = {\n value: _this.trimAlignValue(value),\n dragging: false\n };\n\n warning(!('minimumTrackStyle' in props), 'minimumTrackStyle will be deprecated, please use trackStyle instead.');\n warning(!('maximumTrackStyle' in props), 'maximumTrackStyle will be deprecated, please use railStyle instead.');\n return _this;\n }\n\n _createClass(Slider, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (!('value' in this.props || 'min' in this.props || 'max' in this.props)) {\n return;\n }\n var _props = this.props,\n value = _props.value,\n onChange = _props.onChange;\n\n var theValue = value !== undefined ? value : prevState.value;\n var nextValue = this.trimAlignValue(theValue, this.props);\n if (nextValue !== prevState.value) {\n // eslint-disable-next-line\n this.setState({ value: nextValue });\n if (utils.isValueOutOfRange(theValue, this.props)) {\n onChange(nextValue);\n }\n }\n }\n }, {\n key: 'onChange',\n value: function onChange(state) {\n var props = this.props;\n var isNotControlled = !('value' in props);\n var nextState = state.value > this.props.max ? _extends({}, state, { value: this.props.max }) : state;\n if (isNotControlled) {\n this.setState(nextState);\n }\n\n var changedValue = nextState.value;\n props.onChange(changedValue);\n }\n }, {\n key: 'onStart',\n value: function onStart(position) {\n this.setState({ dragging: true });\n var props = this.props;\n var prevValue = this.getValue();\n props.onBeforeChange(prevValue);\n\n var value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n\n if (value === prevValue) return;\n\n this.prevMovedHandleIndex = 0;\n\n this.onChange({ value: value });\n }\n }, {\n key: 'onMove',\n value: function onMove(e, position) {\n utils.pauseEvent(e);\n var oldValue = this.state.value;\n\n var value = this.calcValueByPos(position);\n if (value === oldValue) return;\n\n this.onChange({ value: value });\n }\n }, {\n key: 'onKeyboard',\n value: function onKeyboard(e) {\n var _props2 = this.props,\n reverse = _props2.reverse,\n vertical = _props2.vertical;\n\n var valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n if (valueMutator) {\n utils.pauseEvent(e);\n var state = this.state;\n var oldValue = state.value;\n var mutatedValue = valueMutator(oldValue, this.props);\n var value = this.trimAlignValue(mutatedValue);\n if (value === oldValue) return;\n\n this.onChange({ value: value });\n this.props.onAfterChange(value);\n this.onEnd();\n }\n }\n }, {\n key: 'getValue',\n value: function getValue() {\n return this.state.value;\n }\n }, {\n key: 'getLowerBound',\n value: function getLowerBound() {\n return this.props.min;\n }\n }, {\n key: 'getUpperBound',\n value: function getUpperBound() {\n return this.state.value;\n }\n }, {\n key: 'trimAlignValue',\n value: function trimAlignValue(v) {\n var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (v === null) {\n return null;\n }\n\n var mergedProps = _extends({}, this.props, nextProps);\n var val = utils.ensureValueInRange(v, mergedProps);\n return utils.ensureValuePrecision(val, mergedProps);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props3 = this.props,\n prefixCls = _props3.prefixCls,\n vertical = _props3.vertical,\n included = _props3.included,\n disabled = _props3.disabled,\n minimumTrackStyle = _props3.minimumTrackStyle,\n trackStyle = _props3.trackStyle,\n handleStyle = _props3.handleStyle,\n tabIndex = _props3.tabIndex,\n min = _props3.min,\n max = _props3.max,\n reverse = _props3.reverse,\n handleGenerator = _props3.handle;\n var _state = this.state,\n value = _state.value,\n dragging = _state.dragging;\n\n var offset = this.calcOffset(value);\n var handle = handleGenerator({\n className: prefixCls + '-handle',\n prefixCls: prefixCls,\n vertical: vertical,\n offset: offset,\n value: value,\n dragging: dragging,\n disabled: disabled,\n min: min,\n max: max,\n reverse: reverse,\n index: 0,\n tabIndex: tabIndex,\n style: handleStyle[0] || handleStyle,\n ref: function ref(h) {\n return _this2.saveHandle(0, h);\n }\n });\n\n var _trackStyle = trackStyle[0] || trackStyle;\n var track = React.createElement(Track, {\n className: prefixCls + '-track',\n vertical: vertical,\n included: included,\n offset: 0,\n reverse: reverse,\n length: offset,\n style: _extends({}, minimumTrackStyle, _trackStyle)\n });\n\n return { tracks: track, handles: handle };\n }\n }]);\n\n return Slider;\n}(React.Component);\n\nSlider.propTypes = {\n defaultValue: PropTypes.number,\n value: PropTypes.number,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n tabIndex: PropTypes.number,\n reverse: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number\n};\n\n\nexport default createSlider(Slider);","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n/* eslint-disable react/prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { polyfill } from 'react-lifecycles-compat';\nimport shallowEqual from 'shallowequal';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nvar _trimAlignValue = function _trimAlignValue(_ref) {\n var value = _ref.value,\n handle = _ref.handle,\n bounds = _ref.bounds,\n props = _ref.props;\n var allowCross = props.allowCross,\n pushable = props.pushable;\n\n var thershold = Number(pushable);\n var valInRange = utils.ensureValueInRange(value, props);\n var valNotConflict = valInRange;\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && valInRange <= bounds[handle - 1] + thershold) {\n valNotConflict = bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && valInRange >= bounds[handle + 1] - thershold) {\n valNotConflict = bounds[handle + 1] - thershold;\n }\n }\n return utils.ensureValuePrecision(valNotConflict, props);\n};\n\nvar Range = function (_React$Component) {\n _inherits(Range, _React$Component);\n\n function Range(props) {\n _classCallCheck(this, Range);\n\n var _this = _possibleConstructorReturn(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, props));\n\n _this.onEnd = function (force) {\n var handle = _this.state.handle;\n\n _this.removeDocumentEvents();\n\n if (handle !== null || force) {\n _this.props.onAfterChange(_this.getValue());\n }\n\n _this.setState({\n handle: null\n });\n };\n\n var count = props.count,\n min = props.min,\n max = props.max;\n\n var initialValue = Array.apply(undefined, _toConsumableArray(Array(count + 1))).map(function () {\n return min;\n });\n var defaultValue = 'defaultValue' in props ? props.defaultValue : initialValue;\n var value = props.value !== undefined ? props.value : defaultValue;\n var bounds = value.map(function (v, i) {\n return _trimAlignValue({\n value: v,\n handle: i,\n props: props\n });\n });\n var recent = bounds[0] === max ? 0 : bounds.length - 1;\n\n _this.state = {\n handle: null,\n recent: recent,\n bounds: bounds\n };\n return _this;\n }\n\n _createClass(Range, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n var _this2 = this;\n\n if (!('value' in this.props || 'min' in this.props || 'max' in this.props)) {\n return;\n }\n if (this.props.min === prevProps.min && this.props.max === prevProps.max && shallowEqual(this.props.value, prevProps.value)) {\n return;\n }\n var _props = this.props,\n onChange = _props.onChange,\n value = _props.value;\n\n var currentValue = value || prevState.bounds;\n if (currentValue.some(function (v) {\n return utils.isValueOutOfRange(v, _this2.props);\n })) {\n var newValues = currentValue.map(function (v) {\n return utils.ensureValueInRange(v, _this2.props);\n });\n onChange(newValues);\n }\n }\n }, {\n key: 'onChange',\n value: function onChange(state) {\n var props = this.props;\n var isNotControlled = !('value' in props);\n if (isNotControlled) {\n this.setState(state);\n } else {\n var controlledState = {};\n\n ['handle', 'recent'].forEach(function (item) {\n if (state[item] !== undefined) {\n controlledState[item] = state[item];\n }\n });\n\n if (Object.keys(controlledState).length) {\n this.setState(controlledState);\n }\n }\n\n var data = _extends({}, this.state, state);\n var changedValue = data.bounds;\n props.onChange(changedValue);\n }\n }, {\n key: 'onStart',\n value: function onStart(position) {\n var props = this.props;\n var state = this.state;\n var bounds = this.getValue();\n props.onBeforeChange(bounds);\n\n var value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n\n var closestBound = this.getClosestBound(value);\n this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n\n this.setState({\n handle: this.prevMovedHandleIndex,\n recent: this.prevMovedHandleIndex\n });\n\n var prevValue = bounds[this.prevMovedHandleIndex];\n if (value === prevValue) return;\n\n var nextBounds = [].concat(_toConsumableArray(state.bounds));\n nextBounds[this.prevMovedHandleIndex] = value;\n this.onChange({ bounds: nextBounds });\n }\n }, {\n key: 'onMove',\n value: function onMove(e, position) {\n utils.pauseEvent(e);\n var state = this.state;\n\n var value = this.calcValueByPos(position);\n var oldValue = state.bounds[state.handle];\n if (value === oldValue) return;\n\n this.moveTo(value);\n }\n }, {\n key: 'onKeyboard',\n value: function onKeyboard(e) {\n var _props2 = this.props,\n reverse = _props2.reverse,\n vertical = _props2.vertical;\n\n var valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n var state = this.state,\n props = this.props;\n var bounds = state.bounds,\n handle = state.handle;\n\n var oldValue = bounds[handle === null ? state.recent : handle];\n var mutatedValue = valueMutator(oldValue, props);\n var value = _trimAlignValue({\n value: mutatedValue,\n handle: handle,\n bounds: state.bounds,\n props: props\n });\n if (value === oldValue) return;\n var isFromKeyboardEvent = true;\n this.moveTo(value, isFromKeyboardEvent);\n }\n }\n }, {\n key: 'getValue',\n value: function getValue() {\n return this.state.bounds;\n }\n }, {\n key: 'getClosestBound',\n value: function getClosestBound(value) {\n var bounds = this.state.bounds;\n\n var closestBound = 0;\n for (var i = 1; i < bounds.length - 1; ++i) {\n if (value >= bounds[i]) {\n closestBound = i;\n }\n }\n if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n closestBound += 1;\n }\n return closestBound;\n }\n }, {\n key: 'getBoundNeedMoving',\n value: function getBoundNeedMoving(value, closestBound) {\n var _state = this.state,\n bounds = _state.bounds,\n recent = _state.recent;\n\n var boundNeedMoving = closestBound;\n var isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];\n\n if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n boundNeedMoving = recent;\n }\n\n if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {\n boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n }\n return boundNeedMoving;\n }\n }, {\n key: 'getLowerBound',\n value: function getLowerBound() {\n return this.state.bounds[0];\n }\n }, {\n key: 'getUpperBound',\n value: function getUpperBound() {\n var bounds = this.state.bounds;\n\n return bounds[bounds.length - 1];\n }\n\n /**\n * Returns an array of possible slider points, taking into account both\n * `marks` and `step`. The result is cached.\n */\n\n }, {\n key: 'getPoints',\n value: function getPoints() {\n var _props3 = this.props,\n marks = _props3.marks,\n step = _props3.step,\n min = _props3.min,\n max = _props3.max;\n\n var cache = this._getPointsCache;\n if (!cache || cache.marks !== marks || cache.step !== step) {\n var pointsObject = _extends({}, marks);\n if (step !== null) {\n for (var point = min; point <= max; point += step) {\n pointsObject[point] = point;\n }\n }\n var points = Object.keys(pointsObject).map(parseFloat);\n points.sort(function (a, b) {\n return a - b;\n });\n this._getPointsCache = { marks: marks, step: step, points: points };\n }\n return this._getPointsCache.points;\n }\n }, {\n key: 'moveTo',\n value: function moveTo(value, isFromKeyboardEvent) {\n var _this3 = this;\n\n var state = this.state,\n props = this.props;\n\n var nextBounds = [].concat(_toConsumableArray(state.bounds));\n var handle = state.handle === null ? state.recent : state.handle;\n nextBounds[handle] = value;\n var nextHandle = handle;\n if (props.pushable !== false) {\n this.pushSurroundingHandles(nextBounds, nextHandle);\n } else if (props.allowCross) {\n nextBounds.sort(function (a, b) {\n return a - b;\n });\n nextHandle = nextBounds.indexOf(value);\n }\n this.onChange({\n recent: nextHandle,\n handle: nextHandle,\n bounds: nextBounds\n });\n if (isFromKeyboardEvent) {\n // known problem: because setState is async,\n // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n // cause onBeforeChange and onAfterChange receive wrong value.\n // here use setState callback to hack,but not elegant\n this.props.onAfterChange(nextBounds);\n this.setState({}, function () {\n _this3.handlesRefs[nextHandle].focus();\n });\n this.onEnd();\n }\n }\n }, {\n key: 'pushSurroundingHandles',\n value: function pushSurroundingHandles(bounds, handle) {\n var value = bounds[handle];\n var threshold = this.props.pushable;\n\n threshold = Number(threshold);\n\n var direction = 0;\n if (bounds[handle + 1] - value < threshold) {\n direction = +1; // push to right\n }\n if (value - bounds[handle - 1] < threshold) {\n direction = -1; // push to left\n }\n\n if (direction === 0) {\n return;\n }\n\n var nextHandle = handle + direction;\n var diffToNext = direction * (bounds[nextHandle] - value);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // revert to original value if pushing is impossible\n bounds[handle] = bounds[nextHandle] - direction * threshold;\n }\n }\n }, {\n key: 'pushHandle',\n value: function pushHandle(bounds, handle, direction, amount) {\n var originalValue = bounds[handle];\n var currentValue = bounds[handle];\n while (direction * (currentValue - originalValue) < amount) {\n if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n // can't push handle enough to create the needed `amount` gap, so we\n // revert its position to the original value\n bounds[handle] = originalValue;\n return false;\n }\n currentValue = bounds[handle];\n }\n // the handle was pushed enough to create the needed `amount` gap\n return true;\n }\n }, {\n key: 'pushHandleOnePoint',\n value: function pushHandleOnePoint(bounds, handle, direction) {\n var points = this.getPoints();\n var pointIndex = points.indexOf(bounds[handle]);\n var nextPointIndex = pointIndex + direction;\n if (nextPointIndex >= points.length || nextPointIndex < 0) {\n // reached the minimum or maximum available point, can't push anymore\n return false;\n }\n var nextHandle = handle + direction;\n var nextValue = points[nextPointIndex];\n var threshold = this.props.pushable;\n\n var diffToNext = direction * (bounds[nextHandle] - nextValue);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // couldn't push next handle, so we won't push this one either\n return false;\n }\n // push the handle\n bounds[handle] = nextValue;\n return true;\n }\n }, {\n key: 'trimAlignValue',\n value: function trimAlignValue(value) {\n var _state2 = this.state,\n handle = _state2.handle,\n bounds = _state2.bounds;\n\n return _trimAlignValue({\n value: value,\n handle: handle,\n bounds: bounds,\n props: this.props\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _state3 = this.state,\n handle = _state3.handle,\n bounds = _state3.bounds;\n var _props4 = this.props,\n prefixCls = _props4.prefixCls,\n vertical = _props4.vertical,\n included = _props4.included,\n disabled = _props4.disabled,\n min = _props4.min,\n max = _props4.max,\n reverse = _props4.reverse,\n handleGenerator = _props4.handle,\n trackStyle = _props4.trackStyle,\n handleStyle = _props4.handleStyle,\n tabIndex = _props4.tabIndex;\n\n\n var offsets = bounds.map(function (v) {\n return _this4.calcOffset(v);\n });\n\n var handleClassName = prefixCls + '-handle';\n var handles = bounds.map(function (v, i) {\n var _classNames;\n\n var _tabIndex = tabIndex[i] || 0;\n if (disabled || tabIndex[i] === null) {\n _tabIndex = null;\n }\n return handleGenerator({\n className: classNames((_classNames = {}, _defineProperty(_classNames, handleClassName, true), _defineProperty(_classNames, handleClassName + '-' + (i + 1), true), _classNames)),\n prefixCls: prefixCls,\n vertical: vertical,\n offset: offsets[i],\n value: v,\n dragging: handle === i,\n index: i,\n tabIndex: _tabIndex,\n min: min,\n max: max,\n reverse: reverse,\n disabled: disabled,\n style: handleStyle[i],\n ref: function ref(h) {\n return _this4.saveHandle(i, h);\n }\n });\n });\n\n var tracks = bounds.slice(0, -1).map(function (_, index) {\n var _classNames2;\n\n var i = index + 1;\n var trackClassName = classNames((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + '-track', true), _defineProperty(_classNames2, prefixCls + '-track-' + i, true), _classNames2));\n return React.createElement(Track, {\n className: trackClassName,\n vertical: vertical,\n reverse: reverse,\n included: included,\n offset: offsets[i - 1],\n length: offsets[i] - offsets[i - 1],\n style: trackStyle[index],\n key: i\n });\n });\n\n return { tracks: tracks, handles: handles };\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, state) {\n if ('value' in props || 'min' in props || 'max' in props) {\n var value = props.value || state.bounds;\n var nextBounds = value.map(function (v, i) {\n return _trimAlignValue({\n value: v,\n handle: i,\n bounds: state.bounds,\n props: props\n });\n });\n if (nextBounds.length === state.bounds.length && nextBounds.every(function (v, i) {\n return v === state.bounds[i];\n })) {\n return null;\n }\n return _extends({}, state, {\n bounds: nextBounds\n });\n }\n return null;\n }\n }]);\n\n return Range;\n}(React.Component);\n\nRange.displayName = 'Range';\nRange.propTypes = {\n autoFocus: PropTypes.bool,\n defaultValue: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n pushable: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n allowCross: PropTypes.bool,\n disabled: PropTypes.bool,\n reverse: PropTypes.bool,\n tabIndex: PropTypes.arrayOf(PropTypes.number),\n min: PropTypes.number,\n max: PropTypes.number\n};\nRange.defaultProps = {\n count: 1,\n allowCross: true,\n pushable: false,\n tabIndex: []\n};\n\n\npolyfill(Range);\n\nexport default createSlider(Range);","export default function contains(root, n) {\n var node = n;\n\n while (node) {\n if (node === root) {\n return true;\n }\n\n node = node.parentNode;\n }\n\n return false;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nvar ContainerRender = /*#__PURE__*/function (_React$Component) {\n _inherits(ContainerRender, _React$Component);\n\n var _super = _createSuper(ContainerRender);\n\n function ContainerRender() {\n var _this;\n\n _classCallCheck(this, ContainerRender);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.removeContainer = function () {\n if (_this.container) {\n ReactDOM.unmountComponentAtNode(_this.container);\n\n _this.container.parentNode.removeChild(_this.container);\n\n _this.container = null;\n }\n };\n\n _this.renderComponent = function (props, ready) {\n var _this$props = _this.props,\n visible = _this$props.visible,\n getComponent = _this$props.getComponent,\n forceRender = _this$props.forceRender,\n getContainer = _this$props.getContainer,\n parent = _this$props.parent;\n\n if (visible || parent._component || forceRender) {\n if (!_this.container) {\n _this.container = getContainer();\n }\n\n ReactDOM.unstable_renderSubtreeIntoContainer(parent, getComponent(props), _this.container, function callback() {\n if (ready) {\n ready.call(this);\n }\n });\n }\n };\n\n return _this;\n }\n\n _createClass(ContainerRender, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.autoMount) {\n this.renderComponent();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (this.props.autoMount) {\n this.renderComponent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.props.autoDestroy) {\n this.removeContainer();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children({\n renderComponent: this.renderComponent,\n removeContainer: this.removeContainer\n });\n }\n }]);\n\n return ContainerRender;\n}(React.Component);\n\nContainerRender.propTypes = {\n autoMount: PropTypes.bool,\n autoDestroy: PropTypes.bool,\n visible: PropTypes.bool,\n forceRender: PropTypes.bool,\n parent: PropTypes.any,\n getComponent: PropTypes.func.isRequired,\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.func.isRequired\n};\nContainerRender.defaultProps = {\n autoMount: true,\n autoDestroy: true,\n forceRender: false\n};\nexport { ContainerRender as default };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nvar Portal = /*#__PURE__*/function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n var _super = _createSuper(Portal);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Portal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.createContainer();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var didUpdate = this.props.didUpdate;\n\n if (didUpdate) {\n didUpdate(prevProps);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.removeContainer();\n }\n }, {\n key: \"createContainer\",\n value: function createContainer() {\n this._container = this.props.getContainer();\n this.forceUpdate();\n }\n }, {\n key: \"removeContainer\",\n value: function removeContainer() {\n if (this._container) {\n this._container.parentNode.removeChild(this._container);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this._container) {\n return ReactDOM.createPortal(this.props.children, this._container);\n }\n\n return null;\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nPortal.propTypes = {\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.node.isRequired,\n didUpdate: PropTypes.func\n};\nexport { Portal as default };","let vendorPrefix;\n\nconst jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-',\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n const style = document.createElement('p').style;\n const testProp = 'Transform';\n for (const key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix()\n ? `${getVendorPrefix()}TransitionProperty`\n : 'transitionProperty';\n}\n\nexport function getTransformName() {\n return getVendorPrefix() ? `${getVendorPrefix()}Transform` : 'transform';\n}\n\nexport function setTransitionProperty(node, value) {\n const name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n const name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nexport function getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nexport function getTransformXY(node) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n const matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0),\n };\n }\n return {\n x: 0,\n y: 0,\n };\n}\n\nconst matrix2d = /matrix\\((.*)\\)/;\nconst matrix3d = /matrix3d\\((.*)\\)/;\n\nexport function setTransformXY(node, xy) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n let arr;\n let match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, `matrix(${arr.join(',')})`);\n } else {\n const match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, `matrix3d(${arr.join(',')})`);\n }\n } else {\n setTransform(\n node,\n `translateX(${xy.x}px) translateY(${xy.y}px) translateZ(0)`,\n );\n }\n}\n","import _extends from 'babel-runtime/helpers/extends';\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n var baseAlign = builtinPlacements[placementStr] || {};\n return _extends({}, baseAlign, align);\n}\n\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n for (var placement in builtinPlacements) {\n if (builtinPlacements.hasOwnProperty(placement)) {\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return prefixCls + '-placement-' + placement;\n }\n }\n }\n return '';\n}\n\nexport function saveRef(name, component) {\n this[name] = component;\n}","import {\n setTransitionProperty,\n getTransitionProperty,\n getTransformXY,\n setTransformXY,\n getTransformName,\n} from './propertyUtils';\n\nconst RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nlet getComputedStyleX;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n const originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n let value = v;\n if (typeof name === 'object') {\n for (const i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = `${value}px`;\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n let box;\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = Math.floor(box.left);\n y = Math.floor(box.top);\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y,\n };\n}\n\nfunction getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n const pos = getClientPosition(el);\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n let computedStyle = cs;\n let val = '';\n const d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nconst _RE_NUM_NO_PX = new RegExp(`^(${RE_NUM})(?!px)[a-z%]+$`, 'i');\nconst RE_POS = /^(top|right|bottom|left)$/;\nconst CURRENT_STYLE = 'currentStyle';\nconst RUNTIME_STYLE = 'runtimeStyle';\nconst LEFT = 'left';\nconst PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n let ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n const style = elem.style;\n const left = style[LEFT];\n const rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle\n ? _getComputedStyle\n : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n let presetH = -999;\n let presetV = -999;\n const horizontalProperty = getOffsetDirection('left', option);\n const verticalProperty = getOffsetDirection('top', option);\n const oppositeHorizontalProperty = oppositeOffsetDirection(\n horizontalProperty,\n );\n const oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n let originalTransition = '';\n const originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = `${presetH}px`;\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = `${presetV}px`;\n }\n // force relayout\n forceRelayout(elem);\n const old = getOffset(elem);\n const originalStyle = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const preset = key === 'left' ? presetH : presetV;\n const off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n const ret = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const off = offset[key] - originalOffset[key];\n if (key === dir) {\n ret[dir] = originalStyle[dir] + off;\n } else {\n ret[dir] = originalStyle[dir] - off;\n }\n }\n }\n css(elem, ret);\n}\n\nfunction setTransform(elem, offset) {\n const originalOffset = getOffset(elem);\n const originalXY = getTransformXY(elem);\n const resultXY = { x: originalXY.x, y: originalXY.y };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n const oriOffset = getOffset(elem);\n\n const oLeft = oriOffset.left.toFixed(0);\n const oTop = oriOffset.top.toFixed(0);\n const tLeft = offset.left.toFixed(0);\n const tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (\n option.useCssTransform &&\n getTransformName() in document.body.style\n ) {\n setTransform(elem, offset, option);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (let i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nconst BOX_MODELS = ['margin', 'border', 'padding'];\nconst CONTENT_INDEX = -1;\nconst PADDING_INDEX = 2;\nconst BORDER_INDEX = 1;\nconst MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n const old = {};\n const style = elem.style;\n let name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n let value = 0;\n let prop;\n let j;\n let i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n let cssProp;\n if (prop === 'border') {\n cssProp = `${prop}${which[i]}Width`;\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\nconst domUtils = {\n getParent(element) {\n let parent = element;\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n return parent;\n },\n};\n\neach(['Width', 'Height'], name => {\n domUtils[`doc${name}`] = refWin => {\n const d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[`scroll${name}`],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[`scroll${name}`],\n domUtils[`viewport${name}`](d),\n );\n };\n\n domUtils[`viewport${name}`] = win => {\n // pc browser includes scrollbar in window.innerWidth\n const prop = `client${name}`;\n const doc = win.document;\n const body = doc.body;\n const documentElement = doc.documentElement;\n const documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return (\n (doc.compatMode === 'CSS1Compat' && documentElementProp) ||\n (body && body[prop]) ||\n documentElementProp\n );\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n let extra = ex;\n if (isWindow(elem)) {\n return name === 'width'\n ? domUtils.viewportWidth(elem)\n : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width'\n ? domUtils.docWidth(elem)\n : domUtils.docHeight(elem);\n }\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n let borderBoxValue =\n name === 'width'\n ? Math.floor(elem.getBoundingClientRect().width)\n : Math.floor(elem.getBoundingClientRect().height);\n const isBorderBox = isBorderBoxFn(elem);\n let cssBoxValue = 0;\n if (\n borderBoxValue === null ||\n borderBoxValue === undefined ||\n borderBoxValue <= 0\n ) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (\n cssBoxValue === null ||\n cssBoxValue === undefined ||\n Number(cssBoxValue) < 0\n ) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n const borderBoxValueOrIsBorderBox =\n borderBoxValue !== undefined || isBorderBox;\n const val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return (\n val +\n (extra === PADDING_INDEX\n ? -getPBMWidth(elem, ['border'], which)\n : getPBMWidth(elem, ['margin'], which))\n );\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nconst cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block',\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(...args) {\n let val;\n const elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, () => {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], name => {\n const first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[`outer${first}`] = (el, includeMargin) => {\n return (\n el &&\n getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX)\n );\n };\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = (elem, v) => {\n let val = v;\n if (val !== undefined) {\n if (elem) {\n const isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (const i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\n\nconst utils = {\n getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n const doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument,\n offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow,\n each,\n css,\n clone(obj) {\n let i;\n const ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n const overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n mix,\n getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge(...args) {\n const ret = {};\n for (let i = 0; i < args.length; i++) {\n utils.mix(ret, args[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0,\n};\n\nmix(utils, domUtils);\n\nexport default utils;\n","import utils from './utils';\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nconst { getParent } = utils;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n
\n
\n 元素 6 高 100px 宽 50px
\n
\n
\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n const doc = utils.getDocument(element);\n const body = doc.body;\n let parent;\n let positionStyle = utils.css(element, 'position');\n const skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html'\n ? null\n : getParent(element);\n }\n\n for (\n parent = getParent(element);\n parent && parent !== body && parent.nodeType !== 9;\n parent = getParent(parent)\n ) {\n positionStyle = utils.css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nexport default getOffsetParent;\n","import utils from './utils';\n\nconst { getParent } = utils;\n\nexport default function isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n const doc = utils.getDocument(element);\n const body = doc.body;\n let parent = null;\n for (\n parent = getParent(element);\n // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc;\n parent = getParent(parent)\n ) {\n const positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n","import utils from './utils';\nimport getOffsetParent from './getOffsetParent';\nimport isAncestorFixed from './isAncestorFixed';\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n const visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity,\n };\n let el = getOffsetParent(element);\n const doc = utils.getDocument(element);\n const win = doc.defaultView || doc.parentWindow;\n const body = doc.body;\n const documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if (\n (navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n (el !== body &&\n el !== documentElement &&\n utils.css(el, 'overflow') !== 'visible')\n ) {\n const pos = utils.offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(\n visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth,\n );\n visibleRect.bottom = Math.min(\n visibleRect.bottom,\n pos.top + el.clientHeight,\n );\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = getOffsetParent(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n let originalPosition = null;\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n const position = utils.css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n const scrollX = utils.getWindowScrollLeft(win);\n const scrollY = utils.getWindowScrollTop(win);\n const viewportWidth = utils.viewportWidth(win);\n const viewportHeight = utils.viewportHeight(win);\n let documentWidth = documentElement.scrollWidth;\n let documentHeight = documentElement.scrollHeight;\n\n // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n const bodyStyle = window.getComputedStyle(body);\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n }\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n const maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n\n const maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 &&\n visibleRect.left >= 0 &&\n visibleRect.bottom > visibleRect.top &&\n visibleRect.right > visibleRect.left\n ? visibleRect\n : null;\n}\n\nexport default getVisibleRectForElement;\n","import utils from './utils';\n\nfunction getRegion(node) {\n let offset;\n let w;\n let h;\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n const win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win),\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\nexport default getRegion;\n","/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n const V = align.charAt(0);\n const H = align.charAt(1);\n const w = region.width;\n const h = region.height;\n\n let x = region.left;\n let y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y,\n };\n}\n\nexport default getAlignOffset;\n","import getAlignOffset from './getAlignOffset';\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n const p1 = getAlignOffset(refNodeRegion, points[1]);\n const p2 = getAlignOffset(elRegion, points[0]);\n const diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1]),\n };\n}\n\nexport default getElFuturePos;\n","/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nimport utils from '../utils';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport adjustForViewport from '../adjustForViewport';\nimport getRegion from '../getRegion';\nimport getElFuturePos from '../getElFuturePos';\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.left < visibleRect.left ||\n elFuturePos.left + elRegion.width > visibleRect.right\n );\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.top < visibleRect.top ||\n elFuturePos.top + elRegion.height > visibleRect.bottom\n );\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.left > visibleRect.right ||\n elFuturePos.left + elRegion.width < visibleRect.left\n );\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.top > visibleRect.bottom ||\n elFuturePos.top + elRegion.height < visibleRect.top\n );\n}\n\nfunction flip(points, reg, map) {\n const ret = [];\n utils.each(points, p => {\n ret.push(\n p.replace(reg, m => {\n return map[m];\n }),\n );\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n let n;\n if (/%$/.test(str)) {\n n = (parseInt(str.substring(0, str.length - 1), 10) / 100) * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n let points = align.points;\n let offset = align.offset || [0, 0];\n let targetOffset = align.targetOffset || [0, 0];\n let overflow = align.overflow;\n const source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n const newOverflowCfg = {};\n let fail = 0;\n const alwaysByViewport = !!(overflow && overflow.alwaysByViewport);\n // 当前节点可以被放置的显示区域\n const visibleRect = getVisibleRectForElement(source, alwaysByViewport);\n // 当前节点所占的区域, left/top/width/height\n const elRegion = getRegion(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n let elFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n points,\n offset,\n targetOffset,\n );\n // 当前节点将要所处的区域\n let newElRegion = utils.merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (\n visibleRect &&\n (overflow.adjustX || overflow.adjustY) &&\n isTgtRegionVisible\n ) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n const newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l',\n });\n // 偏移量也反下\n const newOffset = flipOffset(offset, 0);\n const newTargetOffset = flipOffset(targetOffset, 0);\n const newElFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n newPoints,\n newOffset,\n newTargetOffset,\n );\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n const newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't',\n });\n // 偏移量也反下\n const newOffset = flipOffset(offset, 1);\n const newTargetOffset = flipOffset(targetOffset, 1);\n const newElFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n newPoints,\n newOffset,\n newTargetOffset,\n );\n\n if (!isCompleteFailY(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n points,\n offset,\n targetOffset,\n );\n utils.mix(newElRegion, elFuturePos);\n }\n const isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n const isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n let newPoints = points;\n\n // 重置对应部分的翻转逻辑\n if (isStillFailX) {\n newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l',\n });\n }\n if (isStillFailY) {\n newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't',\n });\n }\n\n points = newPoints;\n\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(\n elFuturePos,\n elRegion,\n visibleRect,\n newOverflowCfg,\n );\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n utils.css(\n source,\n 'width',\n utils.width(source) + newElRegion.width - elRegion.width,\n );\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(\n source,\n 'height',\n utils.height(source) + newElRegion.height - elRegion.height,\n );\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如
\n utils.offset(\n source,\n {\n left: newElRegion.left,\n top: newElRegion.top,\n },\n {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake,\n },\n );\n\n return {\n points,\n offset,\n targetOffset,\n overflow: newOverflowCfg,\n };\n}\n\nexport default doAlign;\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n","import utils from './utils';\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n const pos = utils.clone(elFuturePos);\n const size = {\n width: elRegion.width,\n height: elRegion.height,\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (\n overflow.resizeWidth &&\n pos.left >= visibleRect.left &&\n pos.left + size.width > visibleRect.right\n ) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (\n overflow.resizeHeight &&\n pos.top >= visibleRect.top &&\n pos.top + size.height > visibleRect.bottom\n ) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nexport default adjustForViewport;\n","import doAlign from './align';\nimport getOffsetParent from '../getOffsetParent';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport getRegion from '../getRegion';\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n const visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n const targetRegion = getRegion(target);\n\n return (\n !visibleRect ||\n targetRegion.left + targetRegion.width <= visibleRect.left ||\n targetRegion.top + targetRegion.height <= visibleRect.top ||\n targetRegion.left >= visibleRect.right ||\n targetRegion.top >= visibleRect.bottom\n );\n}\n\nfunction alignElement(el, refNode, align) {\n const target = align.target || refNode;\n const refNodeRegion = getRegion(target);\n\n const isTargetNotOutOfVisible = !isOutOfVisibleRect(\n target,\n align.overflow && align.overflow.alwaysByViewport,\n );\n\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\n\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\nexport default alignElement;\n","import contains from 'rc-util/es/Dom/contains';\n\nexport function buffer(fn, ms) {\n var timer = void 0;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\n\nexport function isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n\nexport function isSimilarValue(val1, val2) {\n var int1 = Math.floor(val1);\n var int2 = Math.floor(val2);\n return Math.abs(int1 - int2) <= 1;\n}\n\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement)) {\n activeElement.focus();\n }\n}","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from 'rc-util/es/Dom/addEventListener';\n\nimport { isWindow, buffer, isSamePoint, isSimilarValue, restoreFocus } from './util';\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function (_Component) {\n _inherits(Align, _Component);\n\n function Align() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Align);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Align.__proto__ || Object.getPrototypeOf(Align)).call.apply(_ref, [this].concat(args))), _this), _this.forceAlign = function () {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n target = _this$props.target,\n align = _this$props.align,\n onAlign = _this$props.onAlign;\n\n if (!disabled && target) {\n var source = ReactDOM.findDOMNode(_this);\n\n var result = void 0;\n var element = getElement(target);\n var point = getPoint(target);\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n var activeElement = document.activeElement;\n\n if (element) {\n result = alignElement(source, element, align);\n } else if (point) {\n result = alignPoint(source, point, align);\n }\n\n restoreFocus(activeElement, source);\n\n if (onAlign) {\n onAlign(source, result);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Align, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var props = this.props;\n // if parent ref not attached .... use document.getElementById\n this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var reAlign = false;\n var props = this.props;\n\n if (!props.disabled) {\n var source = ReactDOM.findDOMNode(this);\n var sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n var lastElement = getElement(prevProps.target);\n var currentElement = getElement(props.target);\n var lastPoint = getPoint(prevProps.target);\n var currentPoint = getPoint(props.target);\n\n if (isWindow(lastElement) && isWindow(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (lastElement !== currentElement || // Element change\n lastElement && !currentElement && currentPoint || // Change from element to point\n lastPoint && currentPoint && currentElement || // Change from point to element\n currentPoint && !isSamePoint(lastPoint, currentPoint)) {\n reAlign = true;\n }\n\n // If source element size changed\n var preRect = this.sourceRect || {};\n if (!reAlign && source && (!isSimilarValue(preRect.width, sourceRect.width) || !isSimilarValue(preRect.height, sourceRect.height))) {\n reAlign = true;\n }\n }\n\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stopMonitorWindowResize();\n }\n }, {\n key: 'startMonitorWindowResize',\n value: function startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = buffer(this.forceAlign, this.props.monitorBufferTime);\n this.resizeHandler = addEventListener(window, 'resize', this.bufferMonitor);\n }\n }\n }, {\n key: 'stopMonitorWindowResize',\n value: function stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n childrenProps = _props.childrenProps,\n children = _props.children;\n\n var child = React.Children.only(children);\n if (childrenProps) {\n var newProps = {};\n var propList = Object.keys(childrenProps);\n propList.forEach(function (prop) {\n newProps[prop] = _this2.props[childrenProps[prop]];\n });\n\n return React.cloneElement(child, newProps);\n }\n return child;\n }\n }]);\n\n return Align;\n}(Component);\n\nAlign.propTypes = {\n childrenProps: PropTypes.object,\n align: PropTypes.object.isRequired,\n target: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n clientX: PropTypes.number,\n clientY: PropTypes.number,\n pageX: PropTypes.number,\n pageY: PropTypes.number\n })]),\n onAlign: PropTypes.func,\n monitorBufferTime: PropTypes.number,\n monitorWindowResize: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.any\n};\nAlign.defaultProps = {\n target: function target() {\n return window;\n },\n monitorBufferTime: 50,\n monitorWindowResize: false,\n disabled: false\n};\n\n\nexport default Align;","import utils from '../utils';\nimport doAlign from './align';\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n let pageX;\n let pageY;\n\n const doc = utils.getDocument(el);\n const win = doc.defaultView || doc.parentWindow;\n\n const scrollX = utils.getWindowScrollLeft(win);\n const scrollY = utils.getWindowScrollTop(win);\n const viewportWidth = utils.viewportWidth(win);\n const viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n const tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0,\n };\n\n const pointInView =\n pageX >= 0 &&\n pageX <= scrollX + viewportWidth &&\n (pageY >= 0 && pageY <= scrollY + viewportHeight);\n\n // Provide default target point\n const points = [align.points[0], 'cc'];\n\n return doAlign(el, tgtRegion, { ...align, points }, pointInView);\n}\n\nexport default alignPoint;\n","// export this package's api\nimport Align from './Align';\n\nexport default Align;","import React from 'react';\n\nvar unsafeLifecyclesPolyfill = function unsafeLifecyclesPolyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n } // only handle componentWillReceiveProps\n\n\n if (typeof prototype.componentWillReceiveProps !== 'function') {\n return Component;\n } // In React 16.9, React.Profiler was introduced together with UNSAFE_componentWillReceiveProps\n // https://reactjs.org/blog/2019/08/08/react-v16.9.0.html#performance-measurements-with-reactprofiler\n\n\n if (!React.Profiler) {\n return Component;\n } // Here polyfill get started\n\n\n prototype.UNSAFE_componentWillReceiveProps = prototype.componentWillReceiveProps;\n delete prototype.componentWillReceiveProps;\n return Component;\n};\n\nexport default unsafeLifecyclesPolyfill;","import React from 'react';\n\nexport function toArrayChildren(children) {\n var ret = [];\n React.Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\n\nexport function findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n return ret;\n}\n\nexport function findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for children');\n }\n ret = child;\n }\n });\n }\n return ret;\n}\n\nexport function findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n found = child && child.key === key && !child.props[showProp];\n });\n }\n return found;\n}\n\nexport function isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n return same;\n}\n\nexport function mergeChildren(prev, next) {\n var ret = [];\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n\n next.forEach(function (child) {\n if (child && Object.prototype.hasOwnProperty.call(nextChildrenPending, child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n ret.push(child);\n });\n\n ret = ret.concat(pendingChildren);\n\n return ret;\n}","var START_EVENT_NAME_MAP = {\n transitionstart: {\n transition: 'transitionstart',\n WebkitTransition: 'webkitTransitionStart',\n MozTransition: 'mozTransitionStart',\n OTransition: 'oTransitionStart',\n msTransition: 'MSTransitionStart'\n },\n\n animationstart: {\n animation: 'animationstart',\n WebkitAnimation: 'webkitAnimationStart',\n MozAnimation: 'mozAnimationStart',\n OAnimation: 'oAnimationStart',\n msAnimation: 'MSAnimationStart'\n }\n};\n\nvar END_EVENT_NAME_MAP = {\n transitionend: {\n transition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'mozTransitionEnd',\n OTransition: 'oTransitionEnd',\n msTransition: 'MSTransitionEnd'\n },\n\n animationend: {\n animation: 'animationend',\n WebkitAnimation: 'webkitAnimationEnd',\n MozAnimation: 'mozAnimationEnd',\n OAnimation: 'oAnimationEnd',\n msAnimation: 'MSAnimationEnd'\n }\n};\n\nvar startEvents = [];\nvar endEvents = [];\n\nfunction detectEvents() {\n var testEl = document.createElement('div');\n var style = testEl.style;\n\n if (!('AnimationEvent' in window)) {\n delete START_EVENT_NAME_MAP.animationstart.animation;\n delete END_EVENT_NAME_MAP.animationend.animation;\n }\n\n if (!('TransitionEvent' in window)) {\n delete START_EVENT_NAME_MAP.transitionstart.transition;\n delete END_EVENT_NAME_MAP.transitionend.transition;\n }\n\n function process(EVENT_NAME_MAP, events) {\n for (var baseEventName in EVENT_NAME_MAP) {\n if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\n var baseEvents = EVENT_NAME_MAP[baseEventName];\n for (var styleName in baseEvents) {\n if (styleName in style) {\n events.push(baseEvents[styleName]);\n break;\n }\n }\n }\n }\n }\n\n process(START_EVENT_NAME_MAP, startEvents);\n process(END_EVENT_NAME_MAP, endEvents);\n}\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n detectEvents();\n}\n\nfunction addEventListener(node, eventName, eventListener) {\n node.addEventListener(eventName, eventListener, false);\n}\n\nfunction removeEventListener(node, eventName, eventListener) {\n node.removeEventListener(eventName, eventListener, false);\n}\n\nvar TransitionEvents = {\n // Start events\n startEvents: startEvents,\n\n addStartEventListener: function addStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n startEvents.forEach(function (startEvent) {\n addEventListener(node, startEvent, eventListener);\n });\n },\n removeStartEventListener: function removeStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n return;\n }\n startEvents.forEach(function (startEvent) {\n removeEventListener(node, startEvent, eventListener);\n });\n },\n\n\n // End events\n endEvents: endEvents,\n\n addEndEventListener: function addEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n endEvents.forEach(function (endEvent) {\n addEventListener(node, endEvent, eventListener);\n });\n },\n removeEndEventListener: function removeEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n return;\n }\n endEvents.forEach(function (endEvent) {\n removeEventListener(node, endEvent, eventListener);\n });\n }\n};\n\nexport default TransitionEvents;","import _typeof from 'babel-runtime/helpers/typeof';\nimport Event from './Event';\nimport classes from 'component-classes';\n\nvar isCssAnimationSupported = Event.endEvents.length !== 0;\nvar capitalPrefixes = ['Webkit', 'Moz', 'O',\n// ms is special .... !\n'ms'];\nvar prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\n\nfunction getStyleProperty(node, name) {\n // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle\n var style = window.getComputedStyle(node, null);\n var ret = '';\n for (var i = 0; i < prefixes.length; i++) {\n ret = style.getPropertyValue(prefixes[i] + name);\n if (ret) {\n break;\n }\n }\n return ret;\n}\n\nfunction fixBrowserByTimeout(node) {\n if (isCssAnimationSupported) {\n var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\n var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\n var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\n var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\n var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);\n // sometimes, browser bug\n node.rcEndAnimTimeout = setTimeout(function () {\n node.rcEndAnimTimeout = null;\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }, time * 1000 + 200);\n }\n}\n\nfunction clearBrowserBugTimeout(node) {\n if (node.rcEndAnimTimeout) {\n clearTimeout(node.rcEndAnimTimeout);\n node.rcEndAnimTimeout = null;\n }\n}\n\nvar cssAnimation = function cssAnimation(node, transitionName, endCallback) {\n var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';\n var className = nameIsObj ? transitionName.name : transitionName;\n var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';\n var end = endCallback;\n var start = void 0;\n var active = void 0;\n var nodeClasses = classes(node);\n\n if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {\n end = endCallback.end;\n start = endCallback.start;\n active = endCallback.active;\n }\n\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = function (e) {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n clearTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n nodeClasses.remove(className);\n nodeClasses.remove(activeClassName);\n\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional end is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (end) {\n end();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n\n if (start) {\n start();\n }\n nodeClasses.add(className);\n\n node.rcAnimTimeout = setTimeout(function () {\n node.rcAnimTimeout = null;\n nodeClasses.add(activeClassName);\n if (active) {\n setTimeout(active, 0);\n }\n fixBrowserByTimeout(node);\n // 30ms for firefox\n }, 30);\n\n return {\n stop: function stop() {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }\n };\n};\n\ncssAnimation.style = function (node, style, callback) {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = function (e) {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n clearTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (callback) {\n callback();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n\n node.rcAnimTimeout = setTimeout(function () {\n for (var s in style) {\n if (style.hasOwnProperty(s)) {\n node.style[s] = style[s];\n }\n }\n node.rcAnimTimeout = null;\n fixBrowserByTimeout(node);\n }, 0);\n};\n\ncssAnimation.setTransition = function (node, p, value) {\n var property = p;\n var v = value;\n if (value === undefined) {\n v = property;\n property = '';\n }\n property = property || '';\n capitalPrefixes.forEach(function (prefix) {\n node.style[prefix + 'Transition' + property] = v;\n });\n};\n\ncssAnimation.isCssAnimationSupported = isCssAnimationSupported;\n\nexport { isCssAnimationSupported };\n\nexport default cssAnimation;","var util = {\n isAppearSupported: function isAppearSupported(props) {\n return props.transitionName && props.transitionAppear || props.animation.appear;\n },\n isEnterSupported: function isEnterSupported(props) {\n return props.transitionName && props.transitionEnter || props.animation.enter;\n },\n isLeaveSupported: function isLeaveSupported(props) {\n return props.transitionName && props.transitionLeave || props.animation.leave;\n },\n allowAppearCallback: function allowAppearCallback(props) {\n return props.transitionAppear || props.animation.appear;\n },\n allowEnterCallback: function allowEnterCallback(props) {\n return props.transitionEnter || props.animation.enter;\n },\n allowLeaveCallback: function allowLeaveCallback(props) {\n return props.transitionLeave || props.animation.leave;\n }\n};\nexport default util;","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport cssAnimate, { isCssAnimationSupported } from 'css-animation';\nimport animUtil from './util/animate';\n\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar AnimateChild = function (_React$Component) {\n _inherits(AnimateChild, _React$Component);\n\n function AnimateChild() {\n _classCallCheck(this, AnimateChild);\n\n return _possibleConstructorReturn(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));\n }\n\n _createClass(AnimateChild, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stop();\n }\n }, {\n key: 'componentWillEnter',\n value: function componentWillEnter(done) {\n if (animUtil.isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillAppear',\n value: function componentWillAppear(done) {\n if (animUtil.isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillLeave',\n value: function componentWillLeave(done) {\n if (animUtil.isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n }\n }, {\n key: 'transition',\n value: function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = ReactDOM.findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = typeof transitionName === 'object';\n this.stop();\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n if ((isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n this.stopper = cssAnimate(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n }\n }, {\n key: 'stop',\n value: function stop() {\n var stopper = this.stopper;\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return AnimateChild;\n}(React.Component);\n\nAnimateChild.propTypes = {\n children: PropTypes.any,\n animation: PropTypes.any,\n transitionName: PropTypes.any\n};\nexport default AnimateChild;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport unsafeLifecyclesPolyfill from 'rc-util/es/unsafeLifecyclesPolyfill';\nimport { toArrayChildren, mergeChildren, findShownChildInChildrenByKey, findChildInChildrenByKey, isSameChildren } from './ChildrenUtils';\nimport AnimateChild from './AnimateChild';\nimport animUtil from './util/animate';\n\nvar defaultKey = 'rc_animate_' + Date.now();\n\nfunction getChildrenFromProps(props) {\n var children = props.children;\n if (React.isValidElement(children)) {\n if (!children.key) {\n return React.cloneElement(children, {\n key: defaultKey\n });\n }\n }\n return children;\n}\n\nfunction noop() {}\n\nvar Animate = function (_React$Component) {\n _inherits(Animate, _React$Component);\n\n // eslint-disable-line\n\n function Animate(props) {\n _classCallCheck(this, Animate);\n\n var _this = _possibleConstructorReturn(this, (Animate.__proto__ || Object.getPrototypeOf(Animate)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.currentlyAnimatingKeys = {};\n _this.keysToEnter = [];\n _this.keysToLeave = [];\n\n _this.state = {\n children: toArrayChildren(getChildrenFromProps(props))\n };\n\n _this.childrenRefs = {};\n return _this;\n }\n\n _createClass(Animate, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n var showProp = this.props.showProp;\n var children = this.state.children;\n if (showProp) {\n children = children.filter(function (child) {\n return !!child.props[showProp];\n });\n }\n children.forEach(function (child) {\n if (child) {\n _this2.performAppear(child.key);\n }\n });\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n this.nextProps = nextProps;\n var nextChildren = toArrayChildren(getChildrenFromProps(nextProps));\n var props = this.props;\n // exclusive needs immediate response\n if (props.exclusive) {\n Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {\n _this3.stop(key);\n });\n }\n var showProp = props.showProp;\n var currentlyAnimatingKeys = this.currentlyAnimatingKeys;\n // last props children if exclusive\n var currentChildren = props.exclusive ? toArrayChildren(getChildrenFromProps(props)) : this.state.children;\n // in case destroy in showProp mode\n var newChildren = [];\n if (showProp) {\n currentChildren.forEach(function (currentChild) {\n var nextChild = currentChild && findChildInChildrenByKey(nextChildren, currentChild.key);\n var newChild = void 0;\n if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {\n newChild = React.cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));\n } else {\n newChild = nextChild;\n }\n if (newChild) {\n newChildren.push(newChild);\n }\n });\n nextChildren.forEach(function (nextChild) {\n if (!nextChild || !findChildInChildrenByKey(currentChildren, nextChild.key)) {\n newChildren.push(nextChild);\n }\n });\n } else {\n newChildren = mergeChildren(currentChildren, nextChildren);\n }\n\n // need render to avoid update\n this.setState({\n children: newChildren\n });\n\n nextChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasPrev = child && findChildInChildrenByKey(currentChildren, key);\n if (showProp) {\n var showInNext = child.props[showProp];\n if (hasPrev) {\n var showInNow = findShownChildInChildrenByKey(currentChildren, key, showProp);\n if (!showInNow && showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (!hasPrev) {\n _this3.keysToEnter.push(key);\n }\n });\n\n currentChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasNext = child && findChildInChildrenByKey(nextChildren, key);\n if (showProp) {\n var showInNow = child.props[showProp];\n if (hasNext) {\n var showInNext = findShownChildInChildrenByKey(nextChildren, key, showProp);\n if (!showInNext && showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (!hasNext) {\n _this3.keysToLeave.push(key);\n }\n });\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(this.performEnter);\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(this.performLeave);\n }\n }, {\n key: 'isValidChildByKey',\n value: function isValidChildByKey(currentChildren, key) {\n var showProp = this.props.showProp;\n if (showProp) {\n return findShownChildInChildrenByKey(currentChildren, key, showProp);\n }\n return findChildInChildrenByKey(currentChildren, key);\n }\n }, {\n key: 'stop',\n value: function stop(key) {\n delete this.currentlyAnimatingKeys[key];\n var component = this.childrenRefs[key];\n if (component) {\n component.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var props = this.props;\n this.nextProps = props;\n var stateChildren = this.state.children;\n var children = null;\n if (stateChildren) {\n children = stateChildren.map(function (child) {\n if (child === null || child === undefined) {\n return child;\n }\n if (!child.key) {\n throw new Error('must set key for children');\n }\n return React.createElement(\n AnimateChild,\n {\n key: child.key,\n ref: function ref(node) {\n _this4.childrenRefs[child.key] = node;\n },\n animation: props.animation,\n transitionName: props.transitionName,\n transitionEnter: props.transitionEnter,\n transitionAppear: props.transitionAppear,\n transitionLeave: props.transitionLeave\n },\n child\n );\n });\n }\n var Component = props.component;\n if (Component) {\n var passedProps = props;\n if (typeof Component === 'string') {\n passedProps = _extends({\n className: props.className,\n style: props.style\n }, props.componentProps);\n }\n return React.createElement(\n Component,\n passedProps,\n children\n );\n }\n return children[0] || null;\n }\n }]);\n\n return Animate;\n}(React.Component);\n\nAnimate.isAnimate = true;\nAnimate.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n component: PropTypes.any,\n componentProps: PropTypes.object,\n animation: PropTypes.object,\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n transitionEnter: PropTypes.bool,\n transitionAppear: PropTypes.bool,\n exclusive: PropTypes.bool,\n transitionLeave: PropTypes.bool,\n onEnd: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onAppear: PropTypes.func,\n showProp: PropTypes.string,\n children: PropTypes.node\n};\nAnimate.defaultProps = {\n animation: {},\n component: 'span',\n componentProps: {},\n transitionEnter: true,\n transitionLeave: true,\n transitionAppear: false,\n onEnd: noop,\n onEnter: noop,\n onLeave: noop,\n onAppear: noop\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this5 = this;\n\n this.performEnter = function (key) {\n // may already remove by exclusive\n if (_this5.childrenRefs[key]) {\n _this5.currentlyAnimatingKeys[key] = true;\n _this5.childrenRefs[key].componentWillEnter(_this5.handleDoneAdding.bind(_this5, key, 'enter'));\n }\n };\n\n this.performAppear = function (key) {\n if (_this5.childrenRefs[key]) {\n _this5.currentlyAnimatingKeys[key] = true;\n _this5.childrenRefs[key].componentWillAppear(_this5.handleDoneAdding.bind(_this5, key, 'appear'));\n }\n };\n\n this.handleDoneAdding = function (key, type) {\n var props = _this5.props;\n delete _this5.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== _this5.nextProps) {\n return;\n }\n var currentChildren = toArrayChildren(getChildrenFromProps(props));\n if (!_this5.isValidChildByKey(currentChildren, key)) {\n // exclusive will not need this\n _this5.performLeave(key);\n } else if (type === 'appear') {\n if (animUtil.allowAppearCallback(props)) {\n props.onAppear(key);\n props.onEnd(key, true);\n }\n } else if (animUtil.allowEnterCallback(props)) {\n props.onEnter(key);\n props.onEnd(key, true);\n }\n };\n\n this.performLeave = function (key) {\n // may already remove by exclusive\n if (_this5.childrenRefs[key]) {\n _this5.currentlyAnimatingKeys[key] = true;\n _this5.childrenRefs[key].componentWillLeave(_this5.handleDoneLeaving.bind(_this5, key));\n }\n };\n\n this.handleDoneLeaving = function (key) {\n var props = _this5.props;\n delete _this5.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== _this5.nextProps) {\n return;\n }\n var currentChildren = toArrayChildren(getChildrenFromProps(props));\n // in case state change is too fast\n if (_this5.isValidChildByKey(currentChildren, key)) {\n _this5.performEnter(key);\n } else {\n var end = function end() {\n if (animUtil.allowLeaveCallback(props)) {\n props.onLeave(key);\n props.onEnd(key, false);\n }\n };\n if (!isSameChildren(_this5.state.children, currentChildren, props.showProp)) {\n _this5.setState({\n children: currentChildren\n }, end);\n } else {\n end();\n }\n }\n };\n};\n\nexport default unsafeLifecyclesPolyfill(Animate);","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nvar LazyRenderBox = function (_Component) {\n _inherits(LazyRenderBox, _Component);\n\n function LazyRenderBox() {\n _classCallCheck(this, LazyRenderBox);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return nextProps.hiddenClassName || nextProps.visible;\n };\n\n LazyRenderBox.prototype.render = function render() {\n var _props = this.props,\n hiddenClassName = _props.hiddenClassName,\n visible = _props.visible,\n props = _objectWithoutProperties(_props, ['hiddenClassName', 'visible']);\n\n if (hiddenClassName || React.Children.count(props.children) > 1) {\n if (!visible && hiddenClassName) {\n props.className += ' ' + hiddenClassName;\n }\n return React.createElement('div', props);\n }\n\n return React.Children.only(props.children);\n };\n\n return LazyRenderBox;\n}(Component);\n\nLazyRenderBox.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string\n};\n\n\nexport default LazyRenderBox;","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport LazyRenderBox from './LazyRenderBox';\n\nvar PopupInner = function (_Component) {\n _inherits(PopupInner, _Component);\n\n function PopupInner() {\n _classCallCheck(this, PopupInner);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n PopupInner.prototype.render = function render() {\n var props = this.props;\n var className = props.className;\n if (!props.visible) {\n className += ' ' + props.hiddenClassName;\n }\n return React.createElement(\n 'div',\n {\n className: className,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseDown: props.onMouseDown,\n onTouchStart: props.onTouchStart,\n style: props.style\n },\n React.createElement(\n LazyRenderBox,\n { className: props.prefixCls + '-content', visible: props.visible },\n props.children\n )\n );\n };\n\n return PopupInner;\n}(Component);\n\nPopupInner.propTypes = {\n hiddenClassName: PropTypes.string,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n onTouchStart: PropTypes.func,\n children: PropTypes.any\n};\n\n\nexport default PopupInner;","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport Align from 'rc-align';\nimport Animate from 'rc-animate';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport { saveRef } from './utils';\n\nvar Popup = function (_Component) {\n _inherits(Popup, _Component);\n\n function Popup(props) {\n _classCallCheck(this, Popup);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined\n };\n\n _this.savePopupRef = saveRef.bind(_this, 'popupInstance');\n _this.saveAlignRef = saveRef.bind(_this, 'alignInstance');\n return _this;\n }\n\n Popup.prototype.componentDidMount = function componentDidMount() {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n };\n\n Popup.prototype.componentDidUpdate = function componentDidUpdate() {\n this.setStretchSize();\n };\n\n // Record size if stretch needed\n\n\n Popup.prototype.getPopupDomNode = function getPopupDomNode() {\n return ReactDOM.findDOMNode(this.popupInstance);\n };\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n\n Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {\n var props = this.props;\n var transitionName = props.maskTransitionName;\n var animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = props.prefixCls + '-' + animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getTransitionName = function getTransitionName() {\n var props = this.props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.prefixCls + '-' + props.animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getClassName = function getClassName(currentAlignClassName) {\n return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;\n };\n\n Popup.prototype.getPopupElement = function getPopupElement() {\n var _this2 = this;\n\n var savePopupRef = this.savePopupRef;\n var _state = this.state,\n stretchChecked = _state.stretchChecked,\n targetHeight = _state.targetHeight,\n targetWidth = _state.targetWidth;\n var _props = this.props,\n align = _props.align,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n style = _props.style,\n getClassNameFromAlign = _props.getClassNameFromAlign,\n destroyPopupOnHide = _props.destroyPopupOnHide,\n stretch = _props.stretch,\n children = _props.children,\n onMouseEnter = _props.onMouseEnter,\n onMouseLeave = _props.onMouseLeave,\n onMouseDown = _props.onMouseDown,\n onTouchStart = _props.onTouchStart;\n\n var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));\n var hiddenClassName = prefixCls + '-hidden';\n\n if (!visible) {\n this.currentAlignClassName = null;\n }\n\n var sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight = targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = targetWidth;\n }\n\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n sizeStyle.visibility = 'hidden';\n setTimeout(function () {\n if (_this2.alignInstance) {\n _this2.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n\n var newStyle = _extends({}, sizeStyle, style, this.getZIndexStyle());\n\n var popupInnerProps = {\n className: className,\n prefixCls: prefixCls,\n ref: savePopupRef,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDown: onMouseDown,\n onTouchStart: onTouchStart,\n style: newStyle\n };\n if (destroyPopupOnHide) {\n return React.createElement(\n Animate,\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName()\n },\n visible ? React.createElement(\n Align,\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n align: align,\n onAlign: this.onAlign\n },\n React.createElement(\n PopupInner,\n _extends({\n visible: true\n }, popupInnerProps),\n children\n )\n ) : null\n );\n }\n\n return React.createElement(\n Animate,\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName(),\n showProp: 'xVisible'\n },\n React.createElement(\n Align,\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n xVisible: visible,\n childrenProps: { visible: 'xVisible' },\n disabled: !visible,\n align: align,\n onAlign: this.onAlign\n },\n React.createElement(\n PopupInner,\n _extends({\n hiddenClassName: hiddenClassName\n }, popupInnerProps),\n children\n )\n )\n );\n };\n\n Popup.prototype.getZIndexStyle = function getZIndexStyle() {\n var style = {};\n var props = this.props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n };\n\n Popup.prototype.getMaskElement = function getMaskElement() {\n var props = this.props;\n var maskElement = void 0;\n if (props.mask) {\n var maskTransition = this.getMaskTransitionName();\n maskElement = React.createElement(LazyRenderBox, {\n style: this.getZIndexStyle(),\n key: 'mask',\n className: props.prefixCls + '-mask',\n hiddenClassName: props.prefixCls + '-mask-hidden',\n visible: props.visible\n });\n if (maskTransition) {\n maskElement = React.createElement(\n Animate,\n {\n key: 'mask',\n showProp: 'visible',\n transitionAppear: true,\n component: '',\n transitionName: maskTransition\n },\n maskElement\n );\n }\n }\n return maskElement;\n };\n\n Popup.prototype.render = function render() {\n return React.createElement(\n 'div',\n null,\n this.getMaskElement(),\n this.getPopupElement()\n );\n };\n\n return Popup;\n}(Component);\n\nPopup.propTypes = {\n visible: PropTypes.bool,\n style: PropTypes.object,\n getClassNameFromAlign: PropTypes.func,\n onAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n onTouchStart: PropTypes.func,\n stretch: PropTypes.string,\n children: PropTypes.node,\n point: PropTypes.shape({\n pageX: PropTypes.number,\n pageY: PropTypes.number\n })\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onAlign = function (popupDomNode, align) {\n var props = _this3.props;\n var currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (_this3.currentAlignClassName !== currentAlignClassName) {\n _this3.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = _this3.getClassName(currentAlignClassName);\n }\n props.onAlign(popupDomNode, align);\n };\n\n this.setStretchSize = function () {\n var _props2 = _this3.props,\n stretch = _props2.stretch,\n getRootDomNode = _props2.getRootDomNode,\n visible = _props2.visible;\n var _state2 = _this3.state,\n stretchChecked = _state2.stretchChecked,\n targetHeight = _state2.targetHeight,\n targetWidth = _state2.targetWidth;\n\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n _this3.setState({ stretchChecked: false });\n }\n return;\n }\n\n var $ele = getRootDomNode();\n if (!$ele) return;\n\n var height = $ele.offsetHeight;\n var width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n _this3.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width\n });\n }\n };\n\n this.getTargetElement = function () {\n return _this3.props.getRootDomNode();\n };\n\n this.getAlignTarget = function () {\n var point = _this3.props.point;\n\n if (point) {\n return point;\n }\n return _this3.getTargetElement;\n };\n};\n\nexport default Popup;","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { findDOMNode, createPortal } from 'react-dom';\nimport { polyfill } from 'react-lifecycles-compat';\nimport contains from 'rc-util/es/Dom/contains';\nimport addEventListener from 'rc-util/es/Dom/addEventListener';\nimport ContainerRender from 'rc-util/es/ContainerRender';\nimport Portal from 'rc-util/es/Portal';\nimport classNames from 'classnames';\n\nimport { getAlignFromPlacement, getAlignPopupClassName } from './utils';\nimport Popup from './Popup';\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument() {\n return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n\nvar IS_REACT_16 = !!createPortal;\n\nvar contextTypes = {\n rcTrigger: PropTypes.shape({\n onPopupMouseDown: PropTypes.func\n })\n};\n\nvar Trigger = function (_React$Component) {\n _inherits(Trigger, _React$Component);\n\n function Trigger(props) {\n _classCallCheck(this, Trigger);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n var popupVisible = void 0;\n if ('popupVisible' in props) {\n popupVisible = !!props.popupVisible;\n } else {\n popupVisible = !!props.defaultPopupVisible;\n }\n\n _this.state = {\n prevPopupVisible: popupVisible,\n popupVisible: popupVisible\n };\n\n ALL_HANDLERS.forEach(function (h) {\n _this['fire' + h] = function (e) {\n _this.fireEvents(h, e);\n };\n });\n return _this;\n }\n\n Trigger.prototype.getChildContext = function getChildContext() {\n return {\n rcTrigger: {\n onPopupMouseDown: this.onPopupMouseDown\n }\n };\n };\n\n Trigger.prototype.componentDidMount = function componentDidMount() {\n this.componentDidUpdate({}, {\n popupVisible: this.state.popupVisible\n });\n };\n\n Trigger.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {\n var props = this.props;\n var state = this.state;\n var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() {\n if (prevState.popupVisible !== state.popupVisible) {\n props.afterPopupVisibleChange(state.popupVisible);\n }\n };\n if (!IS_REACT_16) {\n this.renderComponent(null, triggerAfterPopupVisibleChange);\n }\n\n // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n if (state.popupVisible) {\n var currentDocument = void 0;\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n currentDocument = props.getDocument();\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n }\n // always hide on mobile\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument();\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);\n }\n // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n currentDocument = currentDocument || props.getDocument();\n this.contextMenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextMenuClose);\n }\n // close popup when trigger type contains 'onContextMenu' and window is blur.\n if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n this.contextMenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextMenuClose);\n }\n return;\n }\n\n this.clearOutsideHandler();\n };\n\n Trigger.prototype.componentWillUnmount = function componentWillUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n };\n\n Trigger.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var popupVisible = _ref.popupVisible;\n\n var newState = {};\n\n if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {\n newState.popupVisible = popupVisible;\n newState.prevPopupVisible = prevState.popupVisible;\n }\n\n return newState;\n };\n\n Trigger.prototype.getPopupDomNode = function getPopupDomNode() {\n // for test\n if (this._component && this._component.getPopupDomNode) {\n return this._component.getPopupDomNode();\n }\n return null;\n };\n\n Trigger.prototype.getPopupAlign = function getPopupAlign() {\n var props = this.props;\n var popupPlacement = props.popupPlacement,\n popupAlign = props.popupAlign,\n builtinPlacements = props.builtinPlacements;\n\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n return popupAlign;\n };\n\n /**\n * @param popupVisible Show or not the popup element\n * @param event SyntheticEvent, used for `pointAlign`\n */\n Trigger.prototype.setPopupVisible = function setPopupVisible(popupVisible, event) {\n var alignPoint = this.props.alignPoint;\n var prevPopupVisible = this.state.popupVisible;\n\n\n this.clearDelayTimer();\n\n if (prevPopupVisible !== popupVisible) {\n if (!('popupVisible' in this.props)) {\n this.setState({ popupVisible: popupVisible, prevPopupVisible: prevPopupVisible });\n }\n this.props.onPopupVisibleChange(popupVisible);\n }\n\n // Always record the point position since mouseEnterDelay will delay the show\n if (alignPoint && event) {\n this.setPoint(event);\n }\n };\n\n Trigger.prototype.delaySetPopupVisible = function delaySetPopupVisible(visible, delayS, event) {\n var _this2 = this;\n\n var delay = delayS * 1000;\n this.clearDelayTimer();\n if (delay) {\n var point = event ? { pageX: event.pageX, pageY: event.pageY } : null;\n this.delayTimer = setTimeout(function () {\n _this2.setPopupVisible(visible, point);\n _this2.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n };\n\n Trigger.prototype.clearDelayTimer = function clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n };\n\n Trigger.prototype.clearOutsideHandler = function clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextMenuOutsideHandler1) {\n this.contextMenuOutsideHandler1.remove();\n this.contextMenuOutsideHandler1 = null;\n }\n\n if (this.contextMenuOutsideHandler2) {\n this.contextMenuOutsideHandler2.remove();\n this.contextMenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n };\n\n Trigger.prototype.createTwoChains = function createTwoChains(event) {\n var childPros = this.props.children.props;\n var props = this.props;\n if (childPros[event] && props[event]) {\n return this['fire' + event];\n }\n return childPros[event] || props[event];\n };\n\n Trigger.prototype.isClickToShow = function isClickToShow() {\n var _props = this.props,\n action = _props.action,\n showAction = _props.showAction;\n\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n };\n\n Trigger.prototype.isContextMenuToShow = function isContextMenuToShow() {\n var _props2 = this.props,\n action = _props2.action,\n showAction = _props2.showAction;\n\n return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n };\n\n Trigger.prototype.isClickToHide = function isClickToHide() {\n var _props3 = this.props,\n action = _props3.action,\n hideAction = _props3.hideAction;\n\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n };\n\n Trigger.prototype.isMouseEnterToShow = function isMouseEnterToShow() {\n var _props4 = this.props,\n action = _props4.action,\n showAction = _props4.showAction;\n\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n };\n\n Trigger.prototype.isMouseLeaveToHide = function isMouseLeaveToHide() {\n var _props5 = this.props,\n action = _props5.action,\n hideAction = _props5.hideAction;\n\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n };\n\n Trigger.prototype.isFocusToShow = function isFocusToShow() {\n var _props6 = this.props,\n action = _props6.action,\n showAction = _props6.showAction;\n\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n };\n\n Trigger.prototype.isBlurToHide = function isBlurToHide() {\n var _props7 = this.props,\n action = _props7.action,\n hideAction = _props7.hideAction;\n\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n };\n\n Trigger.prototype.forcePopupAlign = function forcePopupAlign() {\n if (this.state.popupVisible && this._component && this._component.alignInstance) {\n this._component.alignInstance.forceAlign();\n }\n };\n\n Trigger.prototype.fireEvents = function fireEvents(type, e) {\n var childCallback = this.props.children.props[type];\n if (childCallback) {\n childCallback(e);\n }\n var callback = this.props[type];\n if (callback) {\n callback(e);\n }\n };\n\n Trigger.prototype.close = function close() {\n this.setPopupVisible(false);\n };\n\n Trigger.prototype.render = function render() {\n var _this3 = this;\n\n var popupVisible = this.state.popupVisible;\n var _props8 = this.props,\n children = _props8.children,\n forceRender = _props8.forceRender,\n alignPoint = _props8.alignPoint,\n className = _props8.className;\n\n var child = React.Children.only(children);\n var newChildProps = { key: 'trigger' };\n\n if (this.isContextMenuToShow()) {\n newChildProps.onContextMenu = this.onContextMenu;\n } else {\n newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n }\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.onClick = this.onClick;\n newChildProps.onMouseDown = this.onMouseDown;\n newChildProps.onTouchStart = this.onTouchStart;\n } else {\n newChildProps.onClick = this.createTwoChains('onClick');\n newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n }\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseEnter = this.onMouseEnter;\n if (alignPoint) {\n newChildProps.onMouseMove = this.onMouseMove;\n }\n } else {\n newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n }\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseLeave = this.onMouseLeave;\n } else {\n newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n }\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.onFocus = this.onFocus;\n newChildProps.onBlur = this.onBlur;\n } else {\n newChildProps.onFocus = this.createTwoChains('onFocus');\n newChildProps.onBlur = this.createTwoChains('onBlur');\n }\n\n var childrenClassName = classNames(child && child.props && child.props.className, className);\n if (childrenClassName) {\n newChildProps.className = childrenClassName;\n }\n var trigger = React.cloneElement(child, newChildProps);\n\n if (!IS_REACT_16) {\n return React.createElement(\n ContainerRender,\n {\n parent: this,\n visible: popupVisible,\n autoMount: false,\n forceRender: forceRender,\n getComponent: this.getComponent,\n getContainer: this.getContainer\n },\n function (_ref2) {\n var renderComponent = _ref2.renderComponent;\n\n _this3.renderComponent = renderComponent;\n return trigger;\n }\n );\n }\n\n var portal = void 0;\n // prevent unmounting after it's rendered\n if (popupVisible || this._component || forceRender) {\n portal = React.createElement(\n Portal,\n { key: 'portal', getContainer: this.getContainer, didUpdate: this.handlePortalUpdate },\n this.getComponent()\n );\n }\n\n return [trigger, portal];\n };\n\n return Trigger;\n}(React.Component);\n\nTrigger.propTypes = {\n children: PropTypes.any,\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n showAction: PropTypes.any,\n hideAction: PropTypes.any,\n getPopupClassNameFromAlign: PropTypes.any,\n onPopupVisibleChange: PropTypes.func,\n afterPopupVisibleChange: PropTypes.func,\n popup: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,\n popupStyle: PropTypes.object,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n className: PropTypes.string,\n popupPlacement: PropTypes.string,\n builtinPlacements: PropTypes.object,\n popupTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n popupAnimation: PropTypes.any,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n zIndex: PropTypes.number,\n focusDelay: PropTypes.number,\n blurDelay: PropTypes.number,\n getPopupContainer: PropTypes.func,\n getDocument: PropTypes.func,\n forceRender: PropTypes.bool,\n destroyPopupOnHide: PropTypes.bool,\n mask: PropTypes.bool,\n maskClosable: PropTypes.bool,\n onPopupAlign: PropTypes.func,\n popupAlign: PropTypes.object,\n popupVisible: PropTypes.bool,\n defaultPopupVisible: PropTypes.bool,\n maskTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n maskAnimation: PropTypes.string,\n stretch: PropTypes.string,\n alignPoint: PropTypes.bool // Maybe we can support user pass position in the future\n};\nTrigger.contextTypes = contextTypes;\nTrigger.childContextTypes = contextTypes;\nTrigger.defaultProps = {\n prefixCls: 'rc-trigger-popup',\n getPopupClassNameFromAlign: returnEmptyString,\n getDocument: returnDocument,\n onPopupVisibleChange: noop,\n afterPopupVisibleChange: noop,\n onPopupAlign: noop,\n popupClassName: '',\n mouseEnterDelay: 0,\n mouseLeaveDelay: 0.1,\n focusDelay: 0,\n blurDelay: 0.15,\n popupStyle: {},\n destroyPopupOnHide: false,\n popupAlign: {},\n defaultPopupVisible: false,\n mask: false,\n maskClosable: true,\n action: [],\n showAction: [],\n hideAction: []\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this4 = this;\n\n this.onMouseEnter = function (e) {\n var mouseEnterDelay = _this4.props.mouseEnterDelay;\n\n _this4.fireEvents('onMouseEnter', e);\n _this4.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n };\n\n this.onMouseMove = function (e) {\n _this4.fireEvents('onMouseMove', e);\n _this4.setPoint(e);\n };\n\n this.onMouseLeave = function (e) {\n _this4.fireEvents('onMouseLeave', e);\n _this4.delaySetPopupVisible(false, _this4.props.mouseLeaveDelay);\n };\n\n this.onPopupMouseEnter = function () {\n _this4.clearDelayTimer();\n };\n\n this.onPopupMouseLeave = function (e) {\n // https://github.com/react-component/trigger/pull/13\n // react bug?\n if (e.relatedTarget && !e.relatedTarget.setTimeout && _this4._component && _this4._component.getPopupDomNode && contains(_this4._component.getPopupDomNode(), e.relatedTarget)) {\n return;\n }\n _this4.delaySetPopupVisible(false, _this4.props.mouseLeaveDelay);\n };\n\n this.onFocus = function (e) {\n _this4.fireEvents('onFocus', e);\n // incase focusin and focusout\n _this4.clearDelayTimer();\n if (_this4.isFocusToShow()) {\n _this4.focusTime = Date.now();\n _this4.delaySetPopupVisible(true, _this4.props.focusDelay);\n }\n };\n\n this.onMouseDown = function (e) {\n _this4.fireEvents('onMouseDown', e);\n _this4.preClickTime = Date.now();\n };\n\n this.onTouchStart = function (e) {\n _this4.fireEvents('onTouchStart', e);\n _this4.preTouchTime = Date.now();\n };\n\n this.onBlur = function (e) {\n _this4.fireEvents('onBlur', e);\n _this4.clearDelayTimer();\n if (_this4.isBlurToHide()) {\n _this4.delaySetPopupVisible(false, _this4.props.blurDelay);\n }\n };\n\n this.onContextMenu = function (e) {\n e.preventDefault();\n _this4.fireEvents('onContextMenu', e);\n _this4.setPopupVisible(true, e);\n };\n\n this.onContextMenuClose = function () {\n if (_this4.isContextMenuToShow()) {\n _this4.close();\n }\n };\n\n this.onClick = function (event) {\n _this4.fireEvents('onClick', event);\n // focus will trigger click\n if (_this4.focusTime) {\n var preTime = void 0;\n if (_this4.preClickTime && _this4.preTouchTime) {\n preTime = Math.min(_this4.preClickTime, _this4.preTouchTime);\n } else if (_this4.preClickTime) {\n preTime = _this4.preClickTime;\n } else if (_this4.preTouchTime) {\n preTime = _this4.preTouchTime;\n }\n if (Math.abs(preTime - _this4.focusTime) < 20) {\n return;\n }\n _this4.focusTime = 0;\n }\n _this4.preClickTime = 0;\n _this4.preTouchTime = 0;\n\n // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n if (_this4.isClickToShow() && (_this4.isClickToHide() || _this4.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n var nextVisible = !_this4.state.popupVisible;\n if (_this4.isClickToHide() && !nextVisible || nextVisible && _this4.isClickToShow()) {\n _this4.setPopupVisible(!_this4.state.popupVisible, event);\n }\n };\n\n this.onPopupMouseDown = function () {\n var _context$rcTrigger = _this4.context.rcTrigger,\n rcTrigger = _context$rcTrigger === undefined ? {} : _context$rcTrigger;\n\n _this4.hasPopupMouseDown = true;\n\n clearTimeout(_this4.mouseDownTimeout);\n _this4.mouseDownTimeout = setTimeout(function () {\n _this4.hasPopupMouseDown = false;\n }, 0);\n\n if (rcTrigger.onPopupMouseDown) {\n rcTrigger.onPopupMouseDown.apply(rcTrigger, arguments);\n }\n };\n\n this.onDocumentClick = function (event) {\n if (_this4.props.mask && !_this4.props.maskClosable) {\n return;\n }\n\n var target = event.target;\n var root = findDOMNode(_this4);\n if (!contains(root, target) && !_this4.hasPopupMouseDown) {\n _this4.close();\n }\n };\n\n this.getRootDomNode = function () {\n return findDOMNode(_this4);\n };\n\n this.getPopupClassNameFromAlign = function (align) {\n var className = [];\n var _props9 = _this4.props,\n popupPlacement = _props9.popupPlacement,\n builtinPlacements = _props9.builtinPlacements,\n prefixCls = _props9.prefixCls,\n alignPoint = _props9.alignPoint,\n getPopupClassNameFromAlign = _props9.getPopupClassNameFromAlign;\n\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n return className.join(' ');\n };\n\n this.getComponent = function () {\n var _props10 = _this4.props,\n prefixCls = _props10.prefixCls,\n destroyPopupOnHide = _props10.destroyPopupOnHide,\n popupClassName = _props10.popupClassName,\n action = _props10.action,\n onPopupAlign = _props10.onPopupAlign,\n popupAnimation = _props10.popupAnimation,\n popupTransitionName = _props10.popupTransitionName,\n popupStyle = _props10.popupStyle,\n mask = _props10.mask,\n maskAnimation = _props10.maskAnimation,\n maskTransitionName = _props10.maskTransitionName,\n zIndex = _props10.zIndex,\n popup = _props10.popup,\n stretch = _props10.stretch,\n alignPoint = _props10.alignPoint;\n var _state = _this4.state,\n popupVisible = _state.popupVisible,\n point = _state.point;\n\n\n var align = _this4.getPopupAlign();\n\n var mouseProps = {};\n if (_this4.isMouseEnterToShow()) {\n mouseProps.onMouseEnter = _this4.onPopupMouseEnter;\n }\n if (_this4.isMouseLeaveToHide()) {\n mouseProps.onMouseLeave = _this4.onPopupMouseLeave;\n }\n\n mouseProps.onMouseDown = _this4.onPopupMouseDown;\n mouseProps.onTouchStart = _this4.onPopupMouseDown;\n\n return React.createElement(\n Popup,\n _extends({\n prefixCls: prefixCls,\n destroyPopupOnHide: destroyPopupOnHide,\n visible: popupVisible,\n point: alignPoint && point,\n className: popupClassName,\n action: action,\n align: align,\n onAlign: onPopupAlign,\n animation: popupAnimation,\n getClassNameFromAlign: _this4.getPopupClassNameFromAlign\n }, mouseProps, {\n stretch: stretch,\n getRootDomNode: _this4.getRootDomNode,\n style: popupStyle,\n mask: mask,\n zIndex: zIndex,\n transitionName: popupTransitionName,\n maskAnimation: maskAnimation,\n maskTransitionName: maskTransitionName,\n ref: _this4.savePopup\n }),\n typeof popup === 'function' ? popup() : popup\n );\n };\n\n this.getContainer = function () {\n var props = _this4.props;\n\n var popupContainer = document.createElement('div');\n // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n var mountNode = props.getPopupContainer ? props.getPopupContainer(findDOMNode(_this4)) : props.getDocument().body;\n mountNode.appendChild(popupContainer);\n return popupContainer;\n };\n\n this.setPoint = function (point) {\n var alignPoint = _this4.props.alignPoint;\n\n if (!alignPoint || !point) return;\n\n _this4.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n };\n\n this.handlePortalUpdate = function () {\n if (_this4.state.prevPopupVisible !== _this4.state.popupVisible) {\n _this4.props.afterPopupVisibleChange(_this4.state.popupVisible);\n }\n };\n\n this.savePopup = function (node) {\n _this4._component = node;\n };\n};\n\npolyfill(Trigger);\n\nexport default Trigger;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\n\nvar targetOffset = [0, 0];\n\nexport var placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n }\n};\n\nexport default placements;","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Content = function (_React$Component) {\n _inherits(Content, _React$Component);\n\n function Content() {\n _classCallCheck(this, Content);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Content.prototype.componentDidUpdate = function componentDidUpdate() {\n var trigger = this.props.trigger;\n\n if (trigger) {\n trigger.forcePopupAlign();\n }\n };\n\n Content.prototype.render = function render() {\n var _props = this.props,\n overlay = _props.overlay,\n prefixCls = _props.prefixCls,\n id = _props.id;\n\n return React.createElement(\n 'div',\n { className: prefixCls + '-inner', id: id, role: 'tooltip' },\n typeof overlay === 'function' ? overlay() : overlay\n );\n };\n\n return Content;\n}(React.Component);\n\nContent.propTypes = {\n prefixCls: PropTypes.string,\n overlay: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,\n id: PropTypes.string,\n trigger: PropTypes.any\n};\nexport default Content;","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Trigger from 'rc-trigger';\nimport { placements } from './placements';\nimport Content from './Content';\n\nvar Tooltip = function (_Component) {\n _inherits(Tooltip, _Component);\n\n function Tooltip() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Tooltip);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.getPopupElement = function () {\n var _this$props = _this.props,\n arrowContent = _this$props.arrowContent,\n overlay = _this$props.overlay,\n prefixCls = _this$props.prefixCls,\n id = _this$props.id;\n\n return [React.createElement(\n 'div',\n { className: prefixCls + '-arrow', key: 'arrow' },\n arrowContent\n ), React.createElement(Content, {\n key: 'content',\n trigger: _this.trigger,\n prefixCls: prefixCls,\n id: id,\n overlay: overlay\n })];\n }, _this.saveTrigger = function (node) {\n _this.trigger = node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Tooltip.prototype.getPopupDomNode = function getPopupDomNode() {\n return this.trigger.getPopupDomNode();\n };\n\n Tooltip.prototype.render = function render() {\n var _props = this.props,\n overlayClassName = _props.overlayClassName,\n trigger = _props.trigger,\n mouseEnterDelay = _props.mouseEnterDelay,\n mouseLeaveDelay = _props.mouseLeaveDelay,\n overlayStyle = _props.overlayStyle,\n prefixCls = _props.prefixCls,\n children = _props.children,\n onVisibleChange = _props.onVisibleChange,\n afterVisibleChange = _props.afterVisibleChange,\n transitionName = _props.transitionName,\n animation = _props.animation,\n placement = _props.placement,\n align = _props.align,\n destroyTooltipOnHide = _props.destroyTooltipOnHide,\n defaultVisible = _props.defaultVisible,\n getTooltipContainer = _props.getTooltipContainer,\n restProps = _objectWithoutProperties(_props, ['overlayClassName', 'trigger', 'mouseEnterDelay', 'mouseLeaveDelay', 'overlayStyle', 'prefixCls', 'children', 'onVisibleChange', 'afterVisibleChange', 'transitionName', 'animation', 'placement', 'align', 'destroyTooltipOnHide', 'defaultVisible', 'getTooltipContainer']);\n\n var extraProps = _extends({}, restProps);\n if ('visible' in this.props) {\n extraProps.popupVisible = this.props.visible;\n }\n return React.createElement(\n Trigger,\n _extends({\n popupClassName: overlayClassName,\n ref: this.saveTrigger,\n prefixCls: prefixCls,\n popup: this.getPopupElement,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n onPopupVisibleChange: onVisibleChange,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltipOnHide,\n mouseLeaveDelay: mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay: mouseEnterDelay\n }, extraProps),\n children\n );\n };\n\n return Tooltip;\n}(Component);\n\nTooltip.propTypes = {\n trigger: PropTypes.any,\n children: PropTypes.any,\n defaultVisible: PropTypes.bool,\n visible: PropTypes.bool,\n placement: PropTypes.string,\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n animation: PropTypes.any,\n onVisibleChange: PropTypes.func,\n afterVisibleChange: PropTypes.func,\n overlay: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,\n overlayStyle: PropTypes.object,\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n getTooltipContainer: PropTypes.func,\n destroyTooltipOnHide: PropTypes.bool,\n align: PropTypes.object,\n arrowContent: PropTypes.any,\n id: PropTypes.string\n};\nTooltip.defaultProps = {\n prefixCls: 'rc-tooltip',\n mouseEnterDelay: 0,\n destroyTooltipOnHide: false,\n mouseLeaveDelay: 0.1,\n align: {},\n placement: 'right',\n trigger: ['hover'],\n arrowContent: null\n};\n\n\nexport default Tooltip;","import Tooltip from './Tooltip';\n\nexport default Tooltip;","import Slider from './Slider';\nimport Range from './Range';\nimport Handle from './Handle';\nimport createSliderWithTooltip from './createSliderWithTooltip';\n\nSlider.Range = Range;\nSlider.Handle = Handle;\nSlider.createSliderWithTooltip = createSliderWithTooltip;\nexport default Slider;\nexport { Range, Handle, createSliderWithTooltip };","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Tooltip from 'rc-tooltip';\nimport Handle from './Handle';\n\nexport default function createSliderWithTooltip(Component) {\n var _class, _temp2;\n\n return _temp2 = _class = function (_React$Component) {\n _inherits(ComponentWrapper, _React$Component);\n\n function ComponentWrapper() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, ComponentWrapper);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ComponentWrapper.__proto__ || Object.getPrototypeOf(ComponentWrapper)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n visibles: {}\n }, _this.handleTooltipVisibleChange = function (index, visible) {\n _this.setState(function (prevState) {\n return {\n visibles: _extends({}, prevState.visibles, _defineProperty({}, index, visible))\n };\n });\n }, _this.handleWithTooltip = function (_ref2) {\n var value = _ref2.value,\n dragging = _ref2.dragging,\n index = _ref2.index,\n disabled = _ref2.disabled,\n restProps = _objectWithoutProperties(_ref2, ['value', 'dragging', 'index', 'disabled']);\n\n var _this$props = _this.props,\n tipFormatter = _this$props.tipFormatter,\n tipProps = _this$props.tipProps,\n handleStyle = _this$props.handleStyle;\n\n var _tipProps$prefixCls = tipProps.prefixCls,\n prefixCls = _tipProps$prefixCls === undefined ? 'rc-slider-tooltip' : _tipProps$prefixCls,\n _tipProps$overlay = tipProps.overlay,\n overlay = _tipProps$overlay === undefined ? tipFormatter(value) : _tipProps$overlay,\n _tipProps$placement = tipProps.placement,\n placement = _tipProps$placement === undefined ? 'top' : _tipProps$placement,\n _tipProps$visible = tipProps.visible,\n visible = _tipProps$visible === undefined ? false : _tipProps$visible,\n restTooltipProps = _objectWithoutProperties(tipProps, ['prefixCls', 'overlay', 'placement', 'visible']);\n\n var handleStyleWithIndex = void 0;\n if (Array.isArray(handleStyle)) {\n handleStyleWithIndex = handleStyle[index] || handleStyle[0];\n } else {\n handleStyleWithIndex = handleStyle;\n }\n\n return React.createElement(\n Tooltip,\n _extends({}, restTooltipProps, {\n prefixCls: prefixCls,\n overlay: overlay,\n placement: placement,\n visible: !disabled && (_this.state.visibles[index] || dragging) || visible,\n key: index\n }),\n React.createElement(Handle, _extends({}, restProps, {\n style: _extends({}, handleStyleWithIndex),\n value: value,\n onMouseEnter: function onMouseEnter() {\n return _this.handleTooltipVisibleChange(index, true);\n },\n onMouseLeave: function onMouseLeave() {\n return _this.handleTooltipVisibleChange(index, false);\n }\n }))\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(ComponentWrapper, [{\n key: 'render',\n value: function render() {\n return React.createElement(Component, _extends({}, this.props, { handle: this.handleWithTooltip }));\n }\n }]);\n\n return ComponentWrapper;\n }(React.Component), _class.propTypes = {\n tipFormatter: PropTypes.func,\n handleStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n tipProps: PropTypes.object\n }, _class.defaultProps = {\n tipFormatter: function tipFormatter(value) {\n return value;\n },\n\n handleStyle: [{}],\n tipProps: {}\n }, _temp2;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Slider from 'rc-slider';\nimport 'rc-slider/assets/index.css';\nimport {formatNumber} from \"../services/utils\";\nimport { withTranslation } from \"react-i18next\";\n\nclass SliderWithField extends React.Component {\n\n static propTypes = {\n title: PropTypes.string,\n defaultValue: PropTypes.number.isRequired,\n minValue: PropTypes.number.isRequired,\n maxValue: PropTypes.number.isRequired,\n step: PropTypes.number.isRequired,\n description: PropTypes.string,\n onChange: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n\n this.state = {\n previousValue: props.defaultValue,\n value: props.defaultValue,\n rangeError: false\n };\n }\n\n wrapDescription(description) {\n if (description === undefined) {\n return \"\";\n } else {\n return description.split('\\n').map((item, key) => {\n return {item}
\n })\n }\n }\n\n render() {\n const { title, defaultValue, minValue, maxValue, step, description } = this.props;\n\n return (\n
\n
{title}
\n
\n
\n this.handleChange(event.target.value, false)}\n />\n
\n
\n {formatNumber(minValue)}\n
\n
\n = minValue && this.state.value <= maxValue) ? this.state.value : 0}\n onChange={newValue => this.handleChange(newValue, false)}\n onAfterChange={value => this.handleChange(value, true)}\n />\n
\n
\n {formatNumber(maxValue)}\n
\n
\n {formatNumber(minValue)} {this.props.t(\"sliderWithField.to\")} {formatNumber(maxValue)}\n
\n
\n {\n (this.state.rangeError) ?\n
{this.props.t(\"sliderWithField.outOfRange\", {min: minValue, max: maxValue})}
\n : null\n }\n
{this.wrapDescription(description)}
\n
\n );\n }\n\n handleChange(newValue, isFinal = false) {\n let intValue = parseInt(newValue, 10);\n intValue = isNaN(intValue) ? \"\" : intValue;\n this.setState({value: intValue});\n\n if (intValue === \"\" || intValue < this.props.minValue || intValue > this.props.maxValue) {\n this.setState({rangeError: true});\n return;\n }\n\n this.setState({rangeError: false});\n const hasAcceptedChange = this.props.onChange(intValue, isFinal);\n\n if (isFinal) {\n if (hasAcceptedChange !== false) {\n this.setState({previousValue: newValue});\n } else {\n this.rollbackChange();\n }\n }\n }\n\n rollbackChange() {\n this.setState({value: this.state.previousValue});\n this.props.onChange(this.state.previousValue, false);\n }\n}\n\nexport default withTranslation('translation')(SliderWithField)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {formatDateTime} from \"../services/utils\";\n\nconst LastChange = ({ object, t }) => {\n if (object !== undefined && object.lastChange !== undefined && object.lastChange !== null) {\n return (\n
\n {t(\"lastChange.info\", {user: object.lastChange.user, time: formatDateTime(new Date(object.lastChange.datetime * 1000))})}\n
\n )\n }\n return null;\n}\n\nLastChange.propTypes = {\n object: PropTypes.shape({\n lastChange: PropTypes.shape({\n user: PropTypes.string.isRequired,\n datetime: PropTypes.number.isRequired,\n })\n }),\n t: PropTypes.func.isRequired\n};\n\nexport default LastChange\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport SliderWithField from '../../../../components/SliderWithField'\nimport { updateSells } from '../../../../actions/sync-modules'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport LastChange from '../../../../components/LastChange'\nimport { withTranslation } from \"react-i18next\";\n\nclass SellsOfGood extends Component {\n\n static propTypes = {\n good: PropTypes.shape({\n name: PropTypes.string.isRequired,\n id: PropTypes.number.isRequired,\n minPrice: PropTypes.number.isRequired,\n maxPrice: PropTypes.number.isRequired,\n }).isRequired,\n quarterName: PropTypes.string.isRequired,\n count: PropTypes.number,\n price: PropTypes.number,\n sell: PropTypes.object.isRequired,\n storageCount: PropTypes.number,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n count: props.count,\n price: props.price\n }\n }\n\n\n render() {\n const { good, quarterName, count, price, storageCount } = this.props;\n const { maxPrice, minPrice } = this.props.good;\n const { t } = this.props;\n\n\n return (\n
\n
\n

{t(\"sellsOfGood.sellsHeader\", {name: localStorage.getItem(\"language\") == \"cs\"? good.name : good.nameEn, quarterName: quarterName})}

\n
\n {\n this.setState({\n count: parseInt(newCount, 10)\n }, this.handleChange);\n }}\n />\n
\n {\n this.setState({\n price: parseInt(newPrice, 10)\n }, this.handleChange);\n }}\n />\n
\n \n
\n
\n )\n }\n\n handleChange() {\n this.props.updateSells(this.props.good.id, this.state);\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n \n return {\n }\n};\n\nconst mapDispatchToProps = {\n updateSells\n};\n\nconst SellsOfGoodTranslated = withTranslation('translation')(SellsOfGood)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(SellsOfGoodTranslated))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { loadSells, loadMarketSurveys, loadMarketSurveyRequirements } from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport SellsOfGood from './SellsOfGood'\nimport {currentQuarter, quarterNameFor} from \"../../../../services/quarter\";\n\nclass Sells extends Component {\n\n constructor(props) {\n super(props);\n this.props.loadSells();\n }\n\n render() {\n return (\n
\n
\n {this.renderGoodSells()}\n
\n
\n )\n }\n\n renderGoodSells() {\n if (Object.keys(this.props.sells).length === 0) {\n return (\n \n );\n }\n\n return Object.keys(this.props.sells).map((key, index) => {\n const sell = this.props.sells[key];\n const good = this.props.goods.find(good => good.id === sell.goodId);\n const storageCount = this.props.goodStorage.find(item => item.goodId === good.id).count;\n\n return (\n \n );\n })\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n const company = state.entities.company['first'];;\n\n return {\n game: game,\n goods: game.goods,\n sells: state.entities.sells,\n currentQuarter: currentQuarter(game).quarterNumber,\n goodStorage: company.previousState.goodStorage,\n isSyncing: state.isSyncing\n }\n};\n\nconst mapDispatchToProps = {\n loadSells,\n loadMarketSurveys,\n loadMarketSurveyRequirements\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Sells))\n","/* eslint-disable no-undef */\n\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter} from 'react-router-dom'\nimport {loadProductionAndMachines, updateMachines, updateProduction} from '../../../../actions/sync-modules'\nimport SliderWithField from '../../../../components/SliderWithField'\nimport Loader from '../../../../components/Loader'\nimport {currentQuarter, quarterNameFor} from \"../../../../services/quarter\";\nimport {sequenceMap, toArray} from \"../../../../services/utils\";\nimport LastChange from \"../../../../components/LastChange\";\nimport update from \"immutability-helper\";\nimport { withTranslation } from \"react-i18next\";\n\nclass Production extends Component {\n\n constructor(props) {\n super(props);\n\n this.handleChangeProduction = this.handleChangeProduction.bind(this);\n this.handleBuyMachines = this.handleBuyMachines.bind(this);\n this.handleSellMachines = this.handleSellMachines.bind(this);\n\n this.state = {\n isInitialized: false,\n confirmedLethalSell: null\n };\n\n this.props.loadProductionAndMachines();\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state.isInitialized === false && props.machines !== undefined) {\n return {\n isInitialized: true,\n confirmedLethalSell: props.machines.sell\n }\n }\n return null\n }\n\n render() {\n const { t } = this.props;\n return (\n
\n
\n
\n
\n

{t(\"production.purchaseAndSells\")}

\n
\n {this.renderMachines()}\n
\n \n
\n
\n
\n
\n

{t(\"production.productionPlan\", {quarterName: quarterNameFor(this.props.game, this.props.currentQuarterNumber)})}

\n
\n {this.renderProduction()}\n
\n \n
\n
\n
\n
\n )\n }\n\n renderProduction() {\n if (this.props.didDownloadData !== true) {\n return \n }\n\n const currentQuarterProduction = this.getActiveMachinesProduction();\n const futureProduction = this.getNotActiveMachinesProduction();\n\n return currentQuarterProduction.concat(futureProduction);\n }\n\n getActiveMachinesProduction() {\n const { t } = this.props;\n const machinesCount = this.props.machineCount;\n\n if (machinesCount === 0) {\n return [
{t(\"production.nothingInProduction\")}
];\n }\n\n return sequenceMap(0, machinesCount - 1, machineIndex => {\n return (\n
\n
{t(\"production.machine\", {number: machineIndex + 1})}
\n {toArray(this.props.goods).map(good => {\n const production = this.findGoodProduction(machineIndex, good);\n return (\n
\n
\n this.handleChangeProduction(machineIndex, good.id, -250)}\n >-\n this.handleChangeProduction(machineIndex, good.id, 250)}\n >+\n {production.machineTime} {t(\"production.hour\")}\n
\n
\n {t(\"production.quantityOf\", \n {goodName: (localStorage.getItem(\"language\") == \"cs\"? good.name : good.nameEn).toLocaleLowerCase(),\n quantity: this.getProducedGoodCount(production, good)})}\n
\n
\n );\n })}\n
\n );\n });\n }\n\n isMachineCapacityFull(machineIndex) {\n let time = 0;\n\n toArray(this.props.goods).forEach(good => {\n const production = this.findGoodProduction(machineIndex, good);\n time += production.machineTime;\n });\n\n return time >= 1500;\n }\n\n findGoodProduction(machineIndex, good) {\n const machineProduction = this.props.productionOfMachines[machineIndex];\n\n if (machineProduction !== undefined) {\n return machineProduction.production.find(production => production.goodId === good.id)\n } else {\n return { machineTime: 0 };\n }\n }\n\n getProducedGoodCount(production, good) {\n let goodCount = '??';\n\n if (production.machineTime === 0) {\n goodCount = 0;\n } else {\n const productionEffectivity = this.props.productionEffectivity.find(item => item.goodId === good.id);\n if (productionEffectivity !== undefined) {\n let a = productionEffectivity.effectivity.find(item => item.hours === production.machineTime);\n if (a !== undefined) {\n goodCount = a.goods;\n }\n }\n }\n\n return goodCount;\n }\n\n handleChangeProduction(machineIndex, goodId, value) {\n const machineProduction = this.props.productionOfMachines[machineIndex].production;\n const goodProductionIndex = machineProduction.findIndex(production => production.goodId === goodId);\n const goodProduction = machineProduction[goodProductionIndex];\n\n const newMachineTime = goodProduction.machineTime + value;\n\n this.props.updateProduction(update(this.props.production, {\n machines: {[machineIndex]: {production: {[goodProductionIndex]: {\n machineTime: {$set: newMachineTime}\n }}}}\n }));\n }\n\n getNotActiveMachinesProduction() {\n const currentMachineCount = this.props.machineCount;\n const { t } = this.props;\n const futureMachinesCount = Math.max(0, this.props.machines.buy - this.props.machines.sell);\n\n if (futureMachinesCount === 0) {\n return null;\n }\n\n return sequenceMap(0, futureMachinesCount - 1, machineIndex => {\n return (\n
\n
{t(\"production.machinePassive\", {number: currentMachineCount + machineIndex + 1})}
\n {toArray(this.props.goods).map(good => {\n return (\n
\n
\n +\n \n -\n \n {0} {t(\"production.hour\")}\n
\n
\n {t(\"production.quantityOf\", \n {goodName: (localStorage.getItem(\"language\") == \"cs\"? good.name : good.nameEn).toLocaleLowerCase(),\n quantity: 0})}\n
\n
\n );\n })}\n
\n );\n });\n }\n\n renderMachines() {\n const { t } = this.props;\n if (this.props.didDownloadData !== true) {\n return \n }\n\n const sellPrice = this.props.machinePrices.sell / 1000;\n const buyPrice = this.props.machinePrices.buy / 1000;\n\n return (\n
\n \n {this.renderLethalSellWarning()}\n
\n \n
\n );\n }\n\n handleBuyMachines(count) {\n const newValue = parseInt(count, 10);\n this.props.updateMachines(this.props.machines.sell, newValue);\n }\n\n handleSellMachines(newValue, isFinal) {\n let count = parseInt(newValue, 10);\n\n if (isFinal && this.confirmLethalValue(count) === false) {\n return false;\n } else {\n this.props.updateMachines(count, this.props.machines.buy);\n return true;\n }\n }\n\n confirmLethalValue(value) {\n const { t } = this.props;\n if (value !== this.state.confirmedLethalSell) {\n if (value === this.props.machineCount) {\n if (window.confirm(t(\"production.confirmSellAll\"))) {\n this.setState({confirmedLethalSell: value});\n } else {\n return false;\n }\n } else if (value >= 3) {\n if (window.confirm(t(\"production.confirmSell\"))) {\n this.setState({confirmedLethalSell: value});\n } else {\n return false;\n }\n } else {\n this.setState({confirmedLethalSell: value});\n }\n }\n\n return true;\n }\n\n renderLethalSellWarning() {\n const { t } = this.props;\n if (this.props.machines.sell === this.props.machineCount) {\n return
{t(\"production.confirmSellAll\")}
\n } else {\n return null;\n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n const production = state.entities.production['first'];\n const machines = state.entities.machines['first'];\n\n return {\n game: game,\n production: production,\n productionOfMachines: production === undefined ? undefined : production.machines,\n machineCount: production === undefined ? 0 : production.machines.length,\n machines: machines,\n goods: game.goods,\n productionEffectivity: game.productionEffectivity,\n machinePrices: game.machinePrices,\n maxMachineCount: game.maxMachineCount,\n currentQuarterNumber: currentQuarter(game).quarterNumber,\n didDownloadData: state.downloadedEntities.machines && state.downloadedEntities.production\n }\n};\n\nconst ProductionTranslated = withTranslation('translation')(Production)\n\nexport default withRouter(connect(mapStateToProps, {\n loadProductionAndMachines,\n updateProduction,\n updateMachines\n})(ProductionTranslated))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Link } from 'react-router-dom'\n\nconst MenuItem = ({ currentPath, targetPath, icon, title, bold }) => {\n\n let className = ((currentPath === targetPath) ? 'selected' : '');\n\n if (bold) {\n className += ' font-weight-bold ';\n }\n\n return (\n \n \n {title}\n \n )\n};\n\nMenuItem.propTypes = {\n className: PropTypes.string,\n targetPath: PropTypes.string.isRequired,\n icon: PropTypes.string.isRequired,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n bold: PropTypes.bool\n};\n\nexport default MenuItem\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nclass ProgressBar extends React.Component {\n\n static propTypes = {\n title: PropTypes.string,\n barTitle: PropTypes.string.isRequired,\n percents: PropTypes.number.isRequired\n };\n\n render() {\n const { title, percents } = this.props;\n\n let content = '';\n\n if (percents >= 0.3) {\n content = this.renderMoreThan30();\n } else if (percents >= 0.1) {\n content = this.renderLessThan30();\n } else {\n content = this.renderLessThan10();\n }\n\n return (\n
\n
{title}
\n
{content}
\n
\n );\n }\n\n renderMoreThan30() {\n return
{this.props.barTitle}
\n }\n\n renderLessThan30() {\n const percentsSupplement = 1 - this.props.percents;\n return [\n
,\n
{this.props.barTitle}
\n ];\n }\n\n renderLessThan10() {\n return
{this.props.barTitle}
\n }\n\n}\n\nexport default ProgressBar","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {currentQuarterLengthInHours, remainingHoursInCurrentQuarter} from \"../services/quarter\";\nimport ProgressBar from \"./ProgressBar\";\nimport { withTranslation } from \"react-i18next\";\n\nclass RemainingTimeProgressBar extends React.Component {\n\n static propTypes = {\n game: PropTypes.object.isRequired,\n title: PropTypes.string,\n offset: PropTypes.number,\n expirationCallback: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n\n this.oneDay = 24;\n\n this.state = {\n remainingHours: this.calculateRemainingHours()\n };\n\n this.triggerExpirationCallback();\n setInterval(() => this.tick(), 1000);\n }\n\n calculateRemainingHours() {\n const offset = (this.props.offset === undefined) ? 0 : this.props.offset;\n return remainingHoursInCurrentQuarter(this.props.game, offset);\n }\n\n tick() {\n const remainingHours = this.calculateRemainingHours();\n\n if (this.state.remainingHours !== remainingHours) {\n this.setState({\n remainingHours: remainingHours\n });\n this.triggerExpirationCallback();\n }\n }\n\n triggerExpirationCallback() {\n if (this.state.remainingHours === -1 && this.props.expirationCallback !== undefined) {\n this.props.expirationCallback();\n }\n }\n\n render() {\n const remainingHours = this.state.remainingHours;\n\n if (remainingHours === null) {\n return
{this.props.t(\"remainingTimeProgressBar.quarterFinished\")}
;\n }\n\n const hoursInQuarter = currentQuarterLengthInHours(this.props.game);\n const barTitle = (remainingHours < this.oneDay) ?\n this.getRemainingHoursTitle(remainingHours) :\n this.getRemainingDaysTitle(remainingHours);\n\n return (\n \n )\n }\n\n getRemainingHoursTitle(remainingHours) {\n const { t } = this.props;\n let measure = '';\n\n if (remainingHours === -1) {\n return t(\"remainingTimeProgressBar.quarterFinishedReversed\");\n } else if (remainingHours === 0) {\n return t(\"remainingTimeProgressBar.lessThanHour\");\n } else {\n measure = t(\"remainingTimeProgressBar.hour_interval\", { postProcess: 'interval', count: remainingHours });\n } \n\n return remainingHours + ' ' + measure;\n }\n\n getRemainingDaysTitle(remainingHours) {\n const remainingDays = Math.floor(remainingHours / this.oneDay);\n let measure = '';\n const { t } = this.props;\n\n \n measure = t(\"remainingTimeProgressBar.day_interval\", { postProcess: 'interval', count: remainingDays});\n \n return remainingDays + ' ' + measure;\n }\n}\n\nexport default withTranslation('translation')(RemainingTimeProgressBar)\n","import React from 'react'\nimport connect from \"react-redux/es/connect/connect\";\nimport {showEndOfPeriod} from \"../actions/errors\";\nimport {withRouter} from \"react-router-dom\";\nimport {hasGameEnded, quarterNameFor, remainingHoursInCurrentQuarter} from \"../services/quarter\";\nimport {dateFromUnixTimestamp, formatDate} from \"../services/utils\";\nimport PropTypes from 'prop-types';\nimport RemainingTimeProgressBar from \"../components/RemainingTimeProgressBar\";\nimport Tooltip from 'react-tooltip-lite';\nimport { withTranslation } from \"react-i18next\";\n\nclass MenuFooter extends React.Component {\n\n static propTypes = {\n game: PropTypes.object,\n currentQuarter: PropTypes.object,\n };\n\n render() {\n if (this.props.currentQuarter === undefined || this.props.game === undefined) {\n return null;\n } else if (hasGameEnded(this.props.game)) {\n return this.renderAfterGameInfo();\n } else {\n return this.renderCurrentQuarterInfo();\n }\n }\n\n renderCurrentQuarterInfo() {\n const { t } = this.props;\n const remainingHours = remainingHoursInCurrentQuarter(this.props.game);\n const runningOutOfTime = remainingHours < 1 && remainingHours !== null;\n\n return (\n
\n
\n {t(\"menuFooter.currentQuarter\")}\n
\n
\n {quarterNameFor(this.props.game, this.props.currentQuarter.quarterNumber)}\n
\n
\n
\n {t(\"menuFooter.quarterEnd\")}\n
\n \n info\n \n
\n
\n {formatDate(dateFromUnixTimestamp(this.props.currentQuarter.end))}\n
\n
\n this.props.showEndOfPeriod()}\n />\n
\n
\n )\n }\n\n renderAfterGameInfo() {\n return (\n
\n check_circle_outline {this.props.t(\"menuFooter.gameOver\")}\n
\n )\n }\n\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n\n }\n};\n\nconst MenuFooterTranslated = withTranslation('translation')(MenuFooter)\n\nexport default withRouter(connect(mapStateToProps, {\n showEndOfPeriod\n})(MenuFooterTranslated));\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport PropTypes from 'prop-types'\nimport {connect} from \"react-redux\";\nimport MenuItem from '../components/MenuItem'\nimport {\n currentQuarter, hasGameEnded, isGameRunning\n} from \"../services/quarter\";\nimport MenuFooter from \"./MenuFooter\";\nimport Tooltip from 'react-tooltip-lite';\nimport { withTranslation } from 'react-i18next';\n\nclass Menu extends React.Component {\n\n static propTypes = {\n currentQuarter: PropTypes.object,\n mobileMenuVisible: PropTypes.bool.isRequired,\n hideMenu: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n game: undefined,\n currentQuarter: undefined\n };\n }\n\n static getDerivedStateFromProps(props, state) {\n let game = props.game;\n\n if (props.isTeacher) {\n const matches = props.location.pathname.match(/\\/auth\\/teacher\\/administration\\/([0-9]+)\\/.*/);\n const gameId = matches !== null && matches[1];\n game = props.teacherGames[gameId];\n }\n\n return {\n game: game,\n currentQuarter: currentQuarter(game)\n };\n }\n\n render() {\n if (this.props.isTeacher && this.state.game === undefined) {\n return \n }\n\n const { pathname } = this.props.location;\n\n let menuClassName = (this.props.mobileMenuVisible) ?\n \"pl-0 pr-0 d-block col-12 mobile-menu\" :\n \"pl-0 pr-1 d-none d-md-block col-md-4 col-lg-3 col-xl-2 desktop-menu\";\n\n return (\n
\n
\n
\n {pathname.startsWith('/auth/teacher/') ? this.renderTeacherMenu() : this.renderStudentMenu()}\n
\n \n
\n
\n );\n }\n\n renderStudentMenu() {\n const { pathname } = this.props.location;\n const { t } = this.props;\n const basePath = '/auth/student/company';\n return
\n \n \n \n \n \n {t(\"menu.surveys\")} {this.renderMarketSurveyWarning()}}/>\n \n {this.props.gameHasEnded ?\n \n : null\n }\n
\n }\n\n renderMarketSurveyWarning() {\n if (isGameRunning(this.props.game) === false && hasGameEnded(this.props.game) === false) {\n return (\n \n \n !\n \n \n );\n } else {\n return null;\n }\n }\n\n renderTeacherMenu() {\n const { pathname } = this.props.location;\n const gameId = this.state.game !== undefined && this.state.game.id;\n const basePath = '/auth/teacher/administration/' + gameId;\n const gameName = this.state.game === undefined ? 'Hra bez názvu' : this.state.game.name;\n\n return
\n
\n \n
\n \n \n Žádosti o úvěry {this.renderOpenedLoanRequirements()}}/>\n \n \n \n \n
\n }\n\n renderOpenedLoanRequirements() {\n const openedLoanRequirements = this.state.game !== undefined && this.state.game.openedLoanRequirements;\n let className = \"ml-3 badge badge-pill badge-\";\n\n if (openedLoanRequirements > 0) {\n className += 'danger';\n } else {\n className += 'light';\n }\n\n return {openedLoanRequirements}\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n let user = state.entities.user['first'];\n let game = state.entities.game['first'];\n\n return {\n game: game,\n teacherGames: state.entities.teacherGames,\n isTeacher: user !== undefined && user.role === \"teacher\",\n gameHasEnded: game !== undefined && hasGameEnded(game),\n }\n};\n\nconst MenuTranslated = withTranslation('translation')(Menu)\n\nexport default withRouter(connect(mapStateToProps)(MenuTranslated))\n","import {createElement,Component}from'react';import {findDOMNode}from'react-dom';function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n // Also cover shadowRoot node by checking current.host\n\n\n while (current.parentNode || current.host) {\n // Only check normal node without shadowRoot\n if (current.parentNode && isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode || current.host;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};function autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();var passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = null;\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions = {\n passive: !instance.props.preventDefault\n };\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a handleClickOutside(event) function for processing outside click events.\");\n };\n\n _this.__getComponentNode = function () {\n var instance = _this.getInstance();\n\n if (config && typeof config.setClickOutsideRef === 'function') {\n return config.setClickOutsideRef()(instance);\n }\n\n if (typeof instance.setClickOutsideRef === 'function') {\n return instance.setClickOutsideRef();\n }\n\n return findDOMNode(instance);\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.componentNode === null) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.composed && event.composedPath && event.composedPath().shift() || event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_assertThisInitialized(_this), eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_assertThisInitialized(_this), eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (WrappedComponent.prototype && !WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a function for processing outside click events specified by the handleClickOutside config option.\");\n }\n }\n\n this.componentNode = this.__getComponentNode(); // return early so we dont initiate onClickOutside\n\n if (this.props.disableOnClickOutside) return;\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = this.__getComponentNode();\n }\n /**\n * Remove all document's event listeners for this component\n */\n ;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n }\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n ;\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _this$props = this.props;\n _this$props.excludeScrollbar;\n var props = _objectWithoutPropertiesLoose(_this$props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype && WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + componentName + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}export default onClickOutsideHOC;export{IGNORE_CLASS_NAME};","import React from 'react'\nimport {withRouter,Link} from 'react-router-dom'\nimport {logout} from '../actions/sync-modules'\nimport PropTypes from 'prop-types'\nimport {connect} from \"react-redux\";\nimport onClickOutside from \"react-onclickoutside\";\nimport {resetErrorMessage} from \"../actions/errors\";\nimport {formatDateTimeShort} from \"../services/utils\";\nimport { withTranslation } from \"react-i18next\";\n\nclass UserButton extends React.Component {\n\n static propTypes = {\n isAuthenticated: PropTypes.bool.isRequired,\n userName: PropTypes.string,\n logout: PropTypes.func.isRequired\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isUserMenuVisible: false\n };\n }\n\n render() {\n if (this.props.isAuthenticated){\n\n let backgroundImage = \"url('\" + process.env.PUBLIC_URL + \"/img/avatar.svg')\";\n let className = \"user\";\n\n if (this.props.profilePicture !== null) {\n backgroundImage = \"url(\" + this.props.profilePicture + \")\";\n className += \" bordered\";\n }\n\n return (\n
\n this.setState({isUserMenuVisible: !this.state.isUserMenuVisible})}\n >
\n
\n
\n {this.props.userName}\n {this.renderLastLogin()}\n
\n
\n {\n this.setState({isUserMenuVisible: false});\n this.props.resetErrorMessage();\n this.props.logout();\n e.preventDefault();\n }}\n >{this.props.t(\"userButton.logout\")}\n
\n \n )\n } else if (this.props.location.pathname !== '/login'){\n return (\n {this.props.t(\"userButton.login\")}\n )\n } else {\n return null\n }\n }\n\n renderLastLogin() {\n if (this.props.lastLogin === null) {\n return null;\n } else {\n const date = new Date(this.props.lastLogin * 1000);\n return (\n
\n {this.props.t(\"userButton.lastLogin\")}
\n {formatDateTimeShort(date)}\n
\n );\n }\n }\n\n handleClickOutside(evt) {\n this.setState({isUserMenuVisible: false});\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const user = state.entities.user['first'];\n\n return {\n userName: user === undefined ? localStorage.getItem('authUserName') : user.name,\n lastLogin: user !== undefined ? user.lastLogin : null,\n isAuthenticated: state.isAuthenticated,\n isSyncing: state.isSyncing,\n isWaitingForSync: state.isWaitingForSync,\n profilePicture: state.profilePicture\n }\n};\n\nexport default withRouter(connect(mapStateToProps, {\n logout,\n resetErrorMessage\n})(withTranslation('translation')(onClickOutside(UserButton))))\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst SavingIndicator = ({ isLoading, lastSave, t }) => {\n if (isLoading) {\n return (\n
\n
\n
{t(\"savingIndicator.saving\")}
\n
\n );\n } else if (lastSave !== null) {\n return (\n
\n \n check_circle\n \n
{t(\"savingIndicator.saved\")}
\n
{t(\"savingIndicator.autosaved\", {lastSave: lastSave})}
\n
\n );\n } else {\n return null;\n }\n};\n\nSavingIndicator.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n lastSave: PropTypes.string,\n t: PropTypes.func.isRequired\n};\n\nexport default SavingIndicator\n","import React from \"react\"\n\nexport var AC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var AD = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var AE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var AF = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var AG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var AI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var AL = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var AM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var AO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var AQ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var AR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var AS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var AT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var AU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var AW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var AX = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var AZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var BA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var BB = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var BD = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var BE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var BF = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var BG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var BH = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var BI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var BJ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var BL = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var BM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var BN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var BO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var BQ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var BR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var BS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var BT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var BV = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var BW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var BY = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var BZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var CA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var CC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var CD = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var CF = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var CG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var CH = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var CI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var CK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var CL = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var CM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var CN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var CO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var CR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var CU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var CV = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var CW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var CX = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var CY = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var CZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var DE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var DJ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var DK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var DM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var DO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var DZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var EC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var EE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var EG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var EH = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var ER = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var ES = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var ET = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var EU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var FI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var FJ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var FK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var FM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var FO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var FR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var GA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var GB = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var GD = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var GE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var GF = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var GG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var GH = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var GI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var GL = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var GM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var GN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var GP = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var GQ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var GR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var GS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var GT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var GU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var GW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var GY = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var HK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var HM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var HN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var HR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var HT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var HU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var IC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var ID = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var IE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var IL = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var IM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var IN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var IO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var IQ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var IR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var IS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var IT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var JE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var JM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var JO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var JP = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var KE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n)\n\nexport var KG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var KH = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var KI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var KM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var KN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var KP = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var KR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var KW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var KY = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var KZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var LA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var LB = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var LC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var LI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var LK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var LR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var LS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var LT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var LU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var LV = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var LY = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var MA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var MC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var MD = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var ME = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var MF = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var MG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var MH = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var MK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var ML = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var MM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var MN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var MO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var MP = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport var MQ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var MR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var MS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var MT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var MU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var MV = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var MW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var MX = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var MY = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var MZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var NA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var NC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n)\n\nexport var NE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var NF = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var NG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var NI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var NL = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var NO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var NP = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var NR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var NU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var NZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n)\n\nexport var OM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var PA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var PE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var PF = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var PG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var PH = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var PK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var PL = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var PM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var PN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var PR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var PS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var PT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var PW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var PY = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var QA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var RE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var RO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var RS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var RU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var RW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var SA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var SB = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var SC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var SD = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var SE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var SG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var SH = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var SI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var SJ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var SK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var SL = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var SM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var SN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var SO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var SR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var SS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var ST = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var SV = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var SX = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n)\n\nexport var SY = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var SZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var TA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var TC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var TD = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var TF = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var TG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var TH = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var TJ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var TK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var TL = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var TM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var TN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var TO = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var TR = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var TT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var TV = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var TW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var TZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var UA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var UG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var UM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var US = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var UY = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var UZ = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var VA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var VC = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var VE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n)\n\nexport var VG = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var VI = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport var VN = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n)\n\nexport var VU = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n)\n\nexport var WF = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var WS = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var XK = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var YE = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n)\n\nexport var YT = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n)\n\nexport var ZA = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n)\n\nexport var ZM = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n)\n\nexport var ZW = ({ title, ...rest }) => (\n \n {title && {title}}\n\n \n \n \n \n \n \n \n \n \n)\n\nexport default {\n\tAC: AC,\n\tAD: AD,\n\tAE: AE,\n\tAF: AF,\n\tAG: AG,\n\tAI: AI,\n\tAL: AL,\n\tAM: AM,\n\tAO: AO,\n\tAQ: AQ,\n\tAR: AR,\n\tAS: AS,\n\tAT: AT,\n\tAU: AU,\n\tAW: AW,\n\tAX: AX,\n\tAZ: AZ,\n\tBA: BA,\n\tBB: BB,\n\tBD: BD,\n\tBE: BE,\n\tBF: BF,\n\tBG: BG,\n\tBH: BH,\n\tBI: BI,\n\tBJ: BJ,\n\tBL: BL,\n\tBM: BM,\n\tBN: BN,\n\tBO: BO,\n\tBQ: BQ,\n\tBR: BR,\n\tBS: BS,\n\tBT: BT,\n\tBV: BV,\n\tBW: BW,\n\tBY: BY,\n\tBZ: BZ,\n\tCA: CA,\n\tCC: CC,\n\tCD: CD,\n\tCF: CF,\n\tCG: CG,\n\tCH: CH,\n\tCI: CI,\n\tCK: CK,\n\tCL: CL,\n\tCM: CM,\n\tCN: CN,\n\tCO: CO,\n\tCR: CR,\n\tCU: CU,\n\tCV: CV,\n\tCW: CW,\n\tCX: CX,\n\tCY: CY,\n\tCZ: CZ,\n\tDE: DE,\n\tDJ: DJ,\n\tDK: DK,\n\tDM: DM,\n\tDO: DO,\n\tDZ: DZ,\n\tEC: EC,\n\tEE: EE,\n\tEG: EG,\n\tEH: EH,\n\tER: ER,\n\tES: ES,\n\tET: ET,\n\tEU: EU,\n\tFI: FI,\n\tFJ: FJ,\n\tFK: FK,\n\tFM: FM,\n\tFO: FO,\n\tFR: FR,\n\tGA: GA,\n\tGB: GB,\n\tGD: GD,\n\tGE: GE,\n\tGF: GF,\n\tGG: GG,\n\tGH: GH,\n\tGI: GI,\n\tGL: GL,\n\tGM: GM,\n\tGN: GN,\n\tGP: GP,\n\tGQ: GQ,\n\tGR: GR,\n\tGS: GS,\n\tGT: GT,\n\tGU: GU,\n\tGW: GW,\n\tGY: GY,\n\tHK: HK,\n\tHM: HM,\n\tHN: HN,\n\tHR: HR,\n\tHT: HT,\n\tHU: HU,\n\tIC: IC,\n\tID: ID,\n\tIE: IE,\n\tIL: IL,\n\tIM: IM,\n\tIN: IN,\n\tIO: IO,\n\tIQ: IQ,\n\tIR: IR,\n\tIS: IS,\n\tIT: IT,\n\tJE: JE,\n\tJM: JM,\n\tJO: JO,\n\tJP: JP,\n\tKE: KE,\n\tKG: KG,\n\tKH: KH,\n\tKI: KI,\n\tKM: KM,\n\tKN: KN,\n\tKP: KP,\n\tKR: KR,\n\tKW: KW,\n\tKY: KY,\n\tKZ: KZ,\n\tLA: LA,\n\tLB: LB,\n\tLC: LC,\n\tLI: LI,\n\tLK: LK,\n\tLR: LR,\n\tLS: LS,\n\tLT: LT,\n\tLU: LU,\n\tLV: LV,\n\tLY: LY,\n\tMA: MA,\n\tMC: MC,\n\tMD: MD,\n\tME: ME,\n\tMF: MF,\n\tMG: MG,\n\tMH: MH,\n\tMK: MK,\n\tML: ML,\n\tMM: MM,\n\tMN: MN,\n\tMO: MO,\n\tMP: MP,\n\tMQ: MQ,\n\tMR: MR,\n\tMS: MS,\n\tMT: MT,\n\tMU: MU,\n\tMV: MV,\n\tMW: MW,\n\tMX: MX,\n\tMY: MY,\n\tMZ: MZ,\n\tNA: NA,\n\tNC: NC,\n\tNE: NE,\n\tNF: NF,\n\tNG: NG,\n\tNI: NI,\n\tNL: NL,\n\tNO: NO,\n\tNP: NP,\n\tNR: NR,\n\tNU: NU,\n\tNZ: NZ,\n\tOM: OM,\n\tPA: PA,\n\tPE: PE,\n\tPF: PF,\n\tPG: PG,\n\tPH: PH,\n\tPK: PK,\n\tPL: PL,\n\tPM: PM,\n\tPN: PN,\n\tPR: PR,\n\tPS: PS,\n\tPT: PT,\n\tPW: PW,\n\tPY: PY,\n\tQA: QA,\n\tRE: RE,\n\tRO: RO,\n\tRS: RS,\n\tRU: RU,\n\tRW: RW,\n\tSA: SA,\n\tSB: SB,\n\tSC: SC,\n\tSD: SD,\n\tSE: SE,\n\tSG: SG,\n\tSH: SH,\n\tSI: SI,\n\tSJ: SJ,\n\tSK: SK,\n\tSL: SL,\n\tSM: SM,\n\tSN: SN,\n\tSO: SO,\n\tSR: SR,\n\tSS: SS,\n\tST: ST,\n\tSV: SV,\n\tSX: SX,\n\tSY: SY,\n\tSZ: SZ,\n\tTA: TA,\n\tTC: TC,\n\tTD: TD,\n\tTF: TF,\n\tTG: TG,\n\tTH: TH,\n\tTJ: TJ,\n\tTK: TK,\n\tTL: TL,\n\tTM: TM,\n\tTN: TN,\n\tTO: TO,\n\tTR: TR,\n\tTT: TT,\n\tTV: TV,\n\tTW: TW,\n\tTZ: TZ,\n\tUA: UA,\n\tUG: UG,\n\tUM: UM,\n\tUS: US,\n\tUY: UY,\n\tUZ: UZ,\n\tVA: VA,\n\tVC: VC,\n\tVE: VE,\n\tVG: VG,\n\tVI: VI,\n\tVN: VN,\n\tVU: VU,\n\tWF: WF,\n\tWS: WS,\n\tXK: XK,\n\tYE: YE,\n\tYT: YT,\n\tZA: ZA,\n\tZM: ZM,\n\tZW: ZW\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\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 if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread({}, options, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, options, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : resForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : resForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var rule = this.getRule(code);\n\n if (!rule) {\n return [];\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n\n return PluralResolver;\n}();\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread({}, options, data, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread({}, options, data, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread({}, options, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n options.supportedLngs = options.whitelist;\n }\n\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\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 _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = keyPrefix ? \"\".concat(keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\n\nexport default i18next;\n","import React from 'react'\nimport {withRouter,Link} from 'react-router-dom'\nimport {connect} from \"react-redux\";\nimport { CZ } from 'country-flag-icons/react/3x2'\nimport { US } from 'country-flag-icons/react/3x2'\nimport i18next from \"i18next\";\n\nclass LanguageOptions extends React.Component {\n\n\n constructor(props) {\n super(props);\n\n this.state = {\n lng: localStorage.getItem(\"language\"),\n options: [\n {title: \"Čeština\", value: \"cs\", icon: CZ},\n {title: \"English\", value: \"en\", icon: US},\n ]\n };\n\n }\n\n render() {\n return (\n
\n this.onClick()}>\n { this.state.lng == \"cs\" ? : }\n \n
\n )\n }\n onChange = (index) => {\n let lng = this.state.options[index].value\n localStorage.setItem(\"language\", lng)\n i18next.changeLanguage(lng)\n this.setState({lng})\n }\n\n onClick = () => {\n let targetLng = this.state.lng == \"cs\" ? \"en\" : \"cs\"\n localStorage.setItem(\"language\", targetLng)\n i18next.changeLanguage(targetLng)\n this.setState({lng: targetLng})\n \n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n\n\n }\n};\n\n\n\nexport default withRouter(connect(mapStateToProps)(LanguageOptions));\n","import React from 'react'\nimport {withRouter} from 'react-router-dom'\nimport PropTypes from 'prop-types'\nimport {connect} from \"react-redux\";\nimport UserButton from './UserButton'\nimport LoadingIndicator from '../components/SavingIndicator'\nimport LanguageOptions from './LanguageOptions';\nimport { withTranslation } from \"react-i18next\";\n\nclass Navbar extends React.Component {\n\n static propTypes = {\n toggleMobileMenu: PropTypes.func.isRequired\n };\n\n render() {\n return (\n
\n )\n }\n\n renderMobileMenuToggler() {\n if (this.props.location.pathname.startsWith('/auth/student/company/') || this.props.location.pathname.startsWith('/auth/teacher/administration/')) {\n return \n } else {\n return null;\n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const user = state.entities.user['first'];\n\n return {\n isSyncing: state.isSyncing,\n isWaitingForSync: state.isWaitingForSync,\n lastSave: state.lastSave,\n isTeacher: user !== undefined && user.role === \"teacher\"\n }\n};\n\nconst NavbarTranslated = withTranslation('translation')(Navbar)\nexport default withRouter(connect(mapStateToProps)(NavbarTranslated))\n","import {toArray} from \"./utils\";\nimport {entityFromSchema} from \"../middleware/sync/schema\";\n\nexport const uniqueErrors = (errors) => {\n let results = {}; // an object is used instead of array to show only unique error messages\n\n errors.forEach((error, index) => {\n const key = error.error;\n const uniqueKey = key + '-' + error.code + '-' + JSON.stringify(error.vars);\n\n if (results[uniqueKey] === undefined) {\n const copy = Object.assign({}, error);\n copy.indexes = [index];\n results[uniqueKey] = copy;\n } else {\n results[uniqueKey].indexes.push(index);\n }\n });\n\n return toArray(results);\n};\n\nexport const localizedError = (error, t) => {\n const key = error.error;\n if (key === undefined) {\n return t(\"originalErrors.Fatal error\");\n } else {\n return t(\"originalErrors.\" + key, key , error.vars)\n }\n};\n\nexport const containsFatal = (errors) => {\n if (errors.length === 0) {\n return false;\n } else {\n const fatalError = errors.find(error => isFatal(error));\n return fatalError !== undefined;\n }\n};\n\nexport const isFatal = (error) => {\n return (\n error.error === \"Failed to fetch\" ||\n error.error === \"Fatal error\" ||\n (error.code > 401 && error.code !== 422)\n );\n};\n\nexport const existsErrorById = (errors, id) => {\n const error = errors.find(e => e.id === id);\n return error !== undefined;\n};\n\nexport const existsServerError = (errors, method, schema) => {\n const id = serverErrorId(method, schema);\n return existsErrorById(errors, id);\n};\n\nexport const serverErrorId = (method, schema) => {\n if (['get', 'put', 'post', 'delete'].includes(method.toLowerCase()) === false) {\n throw new Error(\"Method not supported!\");\n }\n return method.toUpperCase() + '-' + entityFromSchema(schema);\n};","import React from 'react'\nimport {isFatal, localizedError, uniqueErrors} from \"../services/errors\";\nimport connect from \"react-redux/es/connect/connect\";\nimport {removeErrorMessage} from \"../actions/errors\";\nimport {withRouter} from \"react-router-dom\";\nimport { withTranslation } from 'react-i18next';\n\nclass Errors extends React.Component {\n\n render() {\n const errors = uniqueErrors(this.props.errors);\n if (errors.length > 0) {\n return (\n
\n {errors.map(e => this.renderError(e))}\n
\n );\n } else {\n return null;\n }\n }\n\n renderError(error) {\n return (\n
\n {this.renderButton(error)}\n {localizedError(error, this.props.t)}\n
\n );\n }\n\n renderButton(error) {\n if (isFatal(error)) {\n return \n } else {\n return this.props.removeErrorMessage(error.indexes)}>cancel;\n }\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n errors: state.errors\n }\n};\n\nconst ErrorsTranslated = withTranslation('translation')(Errors)\nexport default withRouter(connect(mapStateToProps, {\n removeErrorMessage\n})(ErrorsTranslated));\n","import React from 'react'\nimport {withRouter} from 'react-router-dom'\nimport {connect} from \"react-redux\";\nimport {containsFatal} from \"../services/errors\";\nimport Errors from \"./Errors\";\n\nclass Main extends React.Component {\n render() {\n return (\n
\n \n {containsFatal(this.props.errors) ?\n null :\n this.props.children\n }\n
\n )\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n errors: state.errors\n }\n};\n\nexport default withRouter(connect(mapStateToProps, {})(Main))","import {NEW_CHANGES_WITHOUT_SAVING, SAVED_ALL_CHANGES} from \"./sync-queue\";\n\nexport const madeChangesWithoutSaving = () => (dispatch, getState) => {\n return dispatch({type: NEW_CHANGES_WITHOUT_SAVING});\n};\n\nexport const savedAllChanges = () => (dispatch, getState) => {\n return dispatch({type: SAVED_ALL_CHANGES});\n};\n","import React, {Component} from 'react'\nimport {Prompt, withRouter} from 'react-router-dom';\nimport { connect } from 'react-redux'\nimport { logout } from '../actions/sync-modules'\nimport Loader from '../components/Loader'\nimport Menu from './Menu'\nimport Navbar from './Navbar'\nimport Main from \"./Main\";\nimport {savedAllChanges} from \"../actions/sync-changes-tracking\";\nimport {hasGameEnded} from \"../services/quarter\";\nimport { withTranslation } from \"react-i18next\";\n\nclass Layout extends Component {\n\n static propTypes = {\n\n };\n\n constructor(props) {\n super(props);\n\n this.handleLeavePage = this.handleLeavePage.bind(this);\n\n this.state = {\n mobileMenuVisible: false\n };\n }\n\n componentDidMount() {\n window.addEventListener('beforeunload', this.handleLeavePage);\n }\n\n\n handleLeavePage(e) {\n // this is called while reloading or giong to another webpage, not while changing pages via react routing on the same website\n if (this.props.isSyncing || this.props.isWaitingForSync || this.props.hasUnsavedChanges) {\n const confirmationMessage = this.props.t(\"layout.confirmationMessage\");\n e.returnValue = confirmationMessage; // Gecko, Trident, Chrome 34+\n return confirmationMessage; // Gecko, WebKit, Chrome <34\n } else {\n // do nothing to avoid the dialogue\n // do not return false\n }\n }\n\n componentDidUpdate(prevProps) {\n // when the user is to leave the page and confirmed not to save the changes\n if (this.props.location !== prevProps.location) {\n this.props.savedAllChanges();\n }\n }\n\n render() {\n const {pathname} = this.props.location;\n\n return (\n
\n {this.renderPageLeaveAlert()}\n this.setState({mobileMenuVisible: !this.state.mobileMenuVisible})} />\n this.setState({userMenuDisplayed: false})}\n >\n {this.renderContent()}\n
\n \n )\n }\n\n getCorrectBackground(pathname){\n if (pathname === '/login' && localStorage.getItem(\"language\") === \"cs\"){\n return 'container-fluid login-bg-cs'\n } else if (pathname === '/login' && localStorage.getItem(\"language\") === \"en\") {\n return 'container-fluid login-bg-en'\n } else {\n return 'container-fluid' \n }\n\n\n }\n\n renderPageLeaveAlert() {\n // this is called when the react page is changing, it is not called while reloading or going to another web\n return this.props.t(\"layout.leaveMessage\")}\n />\n }\n\n renderContent() {\n if (this.props.isLoadingBasicData) {\n return (\n
\n \n
\n );\n } else\n if (this.props.location.pathname.startsWith('/auth/student/company/') || this.props.location.pathname.startsWith('/auth/teacher/administration/')) {\n return (\n
\n this.setState({mobileMenuVisible: false})}\n />\n
\n
\n {this.props.hasGameEnded &&\n
\n check_circle_outline\n {this.props.t(\"layout.gameHasEnded\")}\n
\n }\n {this.props.children}\n
\n
\n
\n );\n } else {\n return (\n
\n {this.props.children}\n
\n );\n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const user = state.entities.user['first'];\n const game = state.entities.game['first'];\n const company = state.entities.company['first'];\n\n return {\n user: user,\n userName: user === undefined ? '' : user.name,\n game: game,\n company: company,\n isAuthenticated: state.isAuthenticated,\n isLoadingBasicData: state.isAuthenticated && state.isLoadingBasicData.isLoading,\n isSyncing: state.isSyncing,\n isWaitingForSync: state.isWaitingForSync,\n hasUnsavedChanges: state.hasUnsavedChanges,\n hasGameEnded: hasGameEnded(game)\n }\n};\n\nconst LayoutTranslated = withTranslation('translation')(Layout)\n\nexport default withRouter(connect(mapStateToProps, {\n logout,\n savedAllChanges\n})(LayoutTranslated))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {withRouter} from \"react-router-dom\";\n\nconst TwoLineDashboardBox = ({ icon, children, danger, link, history }) => {\n let className = danger ? ' bg-danger ' : '';\n\n if (link !== undefined) {\n className += ' pointer ';\n }\n\n const onClick = () => {\n if (link !== undefined) {\n history.push(link);\n }\n };\n\n return (\n
\n
 
\n
\n {children}\n
\n
\n )\n};\n\nTwoLineDashboardBox.propTypes = {\n icon: PropTypes.string.isRequired,\n children: PropTypes.node,\n danger: PropTypes.bool,\n link: PropTypes.string\n};\n\nexport default withRouter(TwoLineDashboardBox)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {withRouter} from \"react-router-dom\";\n\nconst LargeNumberDashboardBox = ({ icon, number, title, danger, link, history }) => {\n let className = danger ? ' bg-danger ' : '';\n const value = number !== undefined && number !== null ? number : \"??\";\n\n if (link !== undefined) {\n className += ' pointer ';\n }\n\n const onClick = () => {\n if (link !== undefined) {\n history.push(link);\n }\n };\n\n return (\n
\n
 
\n
{value}
\n {title}\n
\n )\n};\n\nLargeNumberDashboardBox.propTypes = {\n icon: PropTypes.string.isRequired,\n number: PropTypes.number,\n title: PropTypes.string.isRequired,\n danger: PropTypes.bool,\n link: PropTypes.string\n};\n\nexport default withRouter(LargeNumberDashboardBox)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Chart } from 'react-google-charts';\nimport { quarterNameFor } from \"../services/quarter\";\nimport {formatNumber} from \"../services/utils\";\nimport i18next from \"i18next\";\n\nconst StockChart = ({ game, stockPrices, t }) => {\n const data = [[t(\"stockChart.time\"), t(\"stockChart.price\"), {role: 'annotation'}]].concat(stockPrices.map(item => {\n const quarter = quarterNameFor(game, item.quarterNumber);\n const stockPrice = item.value;\n return [quarter, stockPrice, t(\"stockChart.czk\", {value: formatNumber(item.value)})];\n }));\n\n return (\n
\n \n
\n )\n};\n\nStockChart.propTypes = {\n game: PropTypes.object.isRequired,\n stockPrices: PropTypes.array.isRequired,\n t: PropTypes.func.isRequired\n};\n\nexport default StockChart\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport config from \"../config\";\nimport { withTranslation } from \"react-i18next\";\n\nclass NumberField extends React.Component {\n\n static propTypes = {\n title: PropTypes.string,\n defaultValue: PropTypes.number,\n minValue: PropTypes.number,\n maxValue: PropTypes.number,\n description: PropTypes.string,\n onChange: PropTypes.func,\n measure: PropTypes.string,\n required: PropTypes.bool,\n disabled: PropTypes.bool,\n short: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n\n console.log('config', config);\n\n this.handleChange = this.handleChange.bind(this);\n\n this.state = {\n value: props.defaultValue || 0,\n rangeError: false\n };\n }\n\n wrapDescription(description) {\n if (description === undefined) {\n return \"\";\n } else {\n return description.split('\\n').map((item, key) => {\n return {item}
\n })\n }\n }\n\n render() {\n const { title, minValue, maxValue, description } = this.props;\n const min = minValue === undefined ? \"-1 mld.\" : minValue;\n const max = maxValue === undefined ? \"1 mld.\" : maxValue;\n const className =\n (this.props.measure !== undefined ? \" input-with-measure \" : \"\") +\n (this.props.short ? \" number-input \" : \"\");\n\n return (\n
\n
{title}
\n this.handleChange(event.target.value)}\n required={this.props.required}\n disabled={this.props.disabled}\n />\n {this.props.measure}\n {\n (this.state.rangeError) ?\n
{this.props.t(\"numberField.outOfRange\", {min: min, max: max})}
\n : null\n }\n
{this.wrapDescription(description)}
\n
\n );\n }\n\n handleChange(newValue) {\n let intValue = parseInt(newValue, 10);\n if (isNaN(intValue)) intValue = \"\";\n this.setState({value: intValue});\n const minValue = this.props.minValue === undefined ? config.minNumber : this.props.minValue;\n const maxValue = this.props.maxValue === undefined ? config.maxNumber : this.props.maxValue;\n\n if (\n intValue !== \"\" &&\n intValue >= minValue &&\n intValue <= maxValue\n )\n {\n this.setState({rangeError: false});\n this.props.onChange(intValue);\n } else {\n this.setState({rangeError: true});\n }\n }\n}\n\nexport default withTranslation('translation')(NumberField)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { withTranslation } from \"react-i18next\";\n\nclass FileUpload extends React.Component {\n\n static propTypes = {\n title: PropTypes.string,\n buttonTitle: PropTypes.string,\n description: PropTypes.string,\n onChange: PropTypes.func,\n accept: PropTypes.string,\n disabled: PropTypes.bool\n };\n\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n\n this.state = {\n selectedFileName: \"\"\n }\n }\n\n wrapDescription(description) {\n if (description === undefined) {\n return \"\";\n } else {\n return description.split('\\n').map((item, key) => {\n return {item}
\n })\n }\n }\n\n render() {\n const { title, description } = this.props;\n\n return (\n
\n
{title}
\n \n this.handleChange(event.target.files[0])}\n accept={this.props.accept}\n disabled={this.props.disabled}\n />\n {this.state.selectedFileName}\n
{this.wrapDescription(description)}
\n
\n );\n }\n\n handleChange(file) {\n if (file === undefined) {\n this.setState({selectedFileName: \"\"});\n this.props.onChange(null);\n } else {\n this.setState({selectedFileName: file.name});\n this.props.onChange(file);\n }\n }\n}\n\nexport default withTranslation('translation')(FileUpload)","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport {loadInvestmentLoan, updateInvestmentLoan, uploadInvestmentLoanDocument} from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport {\n currentQuarter,\n quarterNameFor,\n remainingHoursInCurrentQuarter,\n remainingTimeForLoanRequirement\n} from \"../../../../services/quarter\";\nimport NumberField from '../../../../components/NumberField'\nimport FileUpload from '../../../../components/FileUpload'\nimport RemainingTimeProgressBar from \"../../../../components/RemainingTimeProgressBar\";\nimport LastChange from \"../../../../components/LastChange\";\nimport {removeErrorMessageById} from \"../../../../actions/errors\";\nimport {Schemas} from \"../../../../middleware/sync/schema\";\nimport config from \"../../../../config\";\nimport Tooltip from 'react-tooltip-lite';\nimport { withTranslation } from \"react-i18next\";\n\nclass InvestLoanRequirement extends Component {\n\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n\n this.state = {\n didLoadData: false,\n amount: 0,\n document: null,\n isUploading: false,\n isRequestPeriod: true\n };\n\n setInterval(() => this.checkPeriod(), 1000);\n\n this.props.loadInvestmentLoan();\n }\n\n checkPeriod() {\n const time = remainingTimeForLoanRequirement(this.props.game);\n this.setState({isRequestPeriod: time > 0});\n }\n\n render() {\n const { t } = this.props;\n if (this.props.didDownloadData === false) {\n return ;\n }\n\n const disabledClassName = this.props.isBankrupted ? ' box-disabled ' : '';\n\n return (\n
\n

{t(\"investLoanRequirement.application\")}

\n {this.renderContent()}\n \n
\n );\n }\n\n renderContent() {\n const { t } = this.props;\n if (this.props.isBankrupted) {\n return
\n {t(\"investLoanRequirement.applicationDenied\")}\n
\n } else {\n return
\n {this.renderAmount()}\n {this.renderExistingDocument()}\n {this.renderFileUpload()}\n
\n }\n }\n\n renderAmount() {\n const { t } = this.props;\n return this.setState({amount: value}, () => this.handleChange())}\n disabled={this.props.disabledChange || this.state.isUploading}\n />\n }\n\n renderExistingDocument() {\n const { t } = this.props;\n if (this.props.requirement.document === null || (this.props.requirement.acceptedByTeacher === null && this.props.disabledChange === false)) {\n return null;\n }\n\n const {id, document} = this.props.requirement;\n\n return (\n \n );\n }\n\n renderFileUpload(){\n const { t } = this.props;\n if (this.props.autoAccept) {\n return null;\n }\n\n if (this.props.requirement.acceptedByTeacher === true) {\n return
{t(\"investLoanRequirement.applicationAccepted\")}
\n }\n\n if (this.props.requirement.acceptedByTeacher === false) {\n return
{t(\"investLoanRequirement.applicationRejected\")}
\n }\n\n if (this.props.disabledChange) {\n return
{t(\"investLoanRequirement.applicationSentInfo\")}
\n }\n\n const remainingHours = remainingHoursInCurrentQuarter(this.props.game, this.props.game.hoursForLoanRequirement);\n\n return
\n {\n this.setState({document: documentUrl}, () => this.handleChange());\n }}\n />\n {this.state.isUploading ? :\n this.save()}\n disabled={this.state.amount <= 0 || this.state.document === null || (this.props.autoAccept === false && this.state.isRequestPeriod === false)}\n >{t(\"investLoanRequirement.sendApplication\")}\n }\n
\n
\n
\n
\n
{t(\"investLoanRequirement.timeLimit\")}
\n \n info\n \n
\n \n
\n
\n
\n }\n\n handleChange() {\n if (this.props.autoAccept) {\n this.save();\n }\n }\n\n save() {\n this.props.removeErrorMessageById('POST-' + Schemas.INVESTMENT_LOAN.key);\n\n const saveAmount = () => this.props.updateInvestmentLoan({\n amount: this.state.amount\n });\n\n if (this.state.document !== null) {\n this.setState({isUploading: true});\n this.props.uploadInvestmentLoanDocument(this.state.document, () => {\n this.setState({isUploading: false});\n if (this.props.existsUploadError === false) {\n saveAmount();\n }\n });\n } else {\n saveAmount();\n }\n }\n\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n const company = state.entities.company['first'];\n const requirement = state.entities.investmentLoan['first'];\n const autoAccept = company.previousState.hasBridgeLoan !== true && game.automaticLoan === true;\n\n return {\n company: company,\n game: game,\n requirement: requirement,\n didDownloadData: state.downloadedEntities.investmentLoan === true,\n interestRate: game.investmentLoanInterestRate * 100,\n repaymentQuarter: quarterNameFor(game, currentQuarter(game).quarterNumber + game.investmentLoanRepaymentDelay),\n autoAccept: autoAccept,\n disabledChange: autoAccept === false && requirement !== undefined && requirement.amount > 0, // the loan requirement has been already sent\n existsUploadError: state.errors.find(e => e.id === 'POST-' + Schemas.INVESTMENT_LOAN.key) !== undefined,\n isBankrupted: company.isBankrupted === true,\n }\n};\n\nconst mapDispatchToProps = {\n loadInvestmentLoan,\n updateInvestmentLoan,\n uploadInvestmentLoanDocument,\n removeErrorMessageById,\n};\n\nconst InvestLoanRequirementTranslated = withTranslation('translation')(InvestLoanRequirement)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(InvestLoanRequirementTranslated))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport {formatNumber} from \"../../../../services/utils\";\nimport {withTranslation} from 'react-i18next';\n\nclass CashFlow extends Component {\n static propTypes = {\n cashFlow: PropTypes.object.isRequired,\n isBankrupted: PropTypes.bool.isRequired\n };\n\n render() {\n const { cashFlow, t } = this.props;\n\n return (\n
\n

{t(\"cashFlow.cashFlow\")}

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{t(\"cashFlow.originalState\")}{formatNumber(Math.round(cashFlow.defaultCash))}
{t(\"cashFlow.totalIncome\")}{formatNumber(Math.round(cashFlow.income.total))}
{t(\"cashFlow.sales\")}{formatNumber(Math.round(cashFlow.income.revenues))}
{t(\"cashFlow.loan1\")}{formatNumber(Math.round(cashFlow.income.investLoan))}
{t(\"cashFlow.loan2\")}{formatNumber(Math.round(cashFlow.income.bridgingLoan))}
{t(\"cashFlow.extraIncome\")}{formatNumber(Math.round(cashFlow.income.extraordinaryIncome))}
{t(\"cashFlow.totalExpense\")}{formatNumber(Math.round(cashFlow.outcome.total))}
{t(\"cashFlow.investments\")}{formatNumber(Math.round(cashFlow.outcome.investments))}
{t(\"cashFlow.expenses\")}{formatNumber(Math.round(cashFlow.outcome.outcome))}
{t(\"cashFlow.taxes\")}{formatNumber(Math.round(cashFlow.outcome.taxes))}
{t(\"cashFlow.extraExpense\")}{formatNumber(Math.round(cashFlow.outcome.extraordinaryOutcome))}
{t(\"cashFlow.finalMoney\")}{formatNumber(Math.round(cashFlow.finalCash))}
\n
\n {this.renderBankruptcyWarning()}\n
\n )\n }\n\n renderBankruptcyWarning() {\n const { t } = this.props;\n if (this.props.isBankrupted === false) {\n return null;\n } else {\n return
\n
{t(\"cashFlow.bankrupt\")}
\n {t(\"cashFlow.loanGranted\")}\n
\n }\n }\n}\n\nexport default withTranslation('translation')(CashFlow);\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport {loadInvestmentLoanExtraRepayment, updateInvestmentLoanExtraRepayment} from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport LastChange from \"../../../../components/LastChange\";\nimport SliderWithField from \"../../../../components/SliderWithField\";\nimport { withTranslation } from \"react-i18next\";\n\nclass InvestLoanExtraRepayment extends Component {\n\n static propTypes = {\n\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n didLoadData: false\n };\n\n this.props.loadInvestmentLoanExtraRepayment();\n }\n\n render() {\n const { t } = this.props;\n if (this.props.didDownloadData === false) {\n return ;\n }\n\n const repayment = this.props.extraRepayment;\n\n if (repayment.max === 0) {\n return null;\n }\n\n return (\n
\n

{t(\"investLoanExtraRepayment.extraRepayment\")}

\n
\n {\n this.props.updateInvestmentLoanExtraRepayment({\n amount: value\n });\n }}\n />\n \n
\n
\n );\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const extraRepayment = state.entities.investmentLoanExtraRepayment['first'];\n\n return {\n extraRepayment: extraRepayment,\n didDownloadData: state.downloadedEntities.investmentLoanExtraRepayment === true,\n }\n};\n\nconst mapDispatchToProps = {\n loadInvestmentLoanExtraRepayment,\n updateInvestmentLoanExtraRepayment\n};\nconst InvestLoanExtraRepaymentTranslated = withTranslation('translation')(InvestLoanExtraRepayment)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(InvestLoanExtraRepaymentTranslated))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport TwoLineDashboardBox from '../../../../components/TwoLineDashboardBox'\nimport LargeNumberDashboardBox from '../../../../components/LargeNumberDashboardBox'\nimport StockChart from '../../../../components/StockChart'\nimport {currentQuarter, hasGameEnded, quarterNameFor} from '../../../../services/quarter'\nimport InvestLoanRequirement from './InvestLoanRequirement'\nimport {formatNumber} from \"../../../../services/utils\";\nimport CashFlow from \"./CashFlow\";\nimport InvestLoanExtraRepayment from \"./InvestLoanExtraRepayment\";\nimport {withTranslation} from \"react-i18next\";\n\nclass Dashboard extends Component {\n\n render() {\n const { t } = this.props;\n\n return (\n
\n
\n
\n

\n {this.props.hasGameEnded\n ? {t(\"dashBoard.endGameState\", {companyName: this.props.companyName})}\n : {t(\"dashBoard.begginingGameState\", {companyName: this.props.companyName, quarterNameFor: quarterNameFor(this.props.game, this.props.currentQuarterNumber)})}\n }\n

\n
\n
\n \n {this.renderGoodStorage()}\n \n
\n
\n \n {this.renderMaterialStorage()}\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n \n\n
\n

{t(\"dashBoard.stock\", {companyName: this.props.companyName})}

\n
\n \n
\n
\n
\n )\n }\n\n\n renderGoodStorage() {\n const { t } = this.props;\n return this.props.goodStorage.map(storageItem => {\n const good = this.props.goods.find(good => good.id === storageItem.goodId);\n return (\n \n {localStorage.getItem(\"language\") == \"cs\"? good.name : good.nameEn}: {formatNumber(storageItem.count)} {t(\"dashBoard.quantity\")}
\n
\n )\n });\n }\n\n renderMaterialStorage() {\n const { t } = this.props;\n return this.props.materialStorage.map(storageItem => {\n const material = this.props.materials.find(material => material.id === storageItem.materialId);\n return (\n \n {localStorage.getItem(\"language\") == \"cs\"? material.name : material.nameEn }: {formatNumber(storageItem.count)} {t(\"dashBoard.weight\")}
\n
\n )\n });\n }\n\n}\n\nconst DashboardTranslated = withTranslation('translation')(Dashboard)\n\nconst mapStateToProps = (state, ownProps) => {\n let company = state.entities.company['first'];\n let game = state.entities.game['first'];\n let companyPreviousState = company.previousState;\n let companyCurrentState = company.currentState;\n\n return {\n game: game,\n companyName: company.name,\n currentQuarterNumber: currentQuarter(game).quarterNumber,\n employeeCount: companyCurrentState.employeeCount,\n machineCount: companyCurrentState.machineCount,\n cashFlow: companyPreviousState.cashFlow,\n stockPrices: companyPreviousState.stockPrices,\n goodStorage: companyPreviousState.goodStorage,\n materialStorage: companyPreviousState.materialStorage,\n goods: game.goods,\n materials: game.materials,\n isBankrupted: company.isBankrupted === true,\n hasGameEnded: hasGameEnded(game)\n }\n};\n\nexport default withRouter(connect(mapStateToProps, {\n\n})(DashboardTranslated))\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport { login } from '../../../actions/sync-modules'\nimport PropTypes from 'prop-types'\nimport {connect} from \"react-redux\";\nimport Loader from \"../../../components/Loader\";\nimport { withTranslation } from \"react-i18next\";\nimport i18next from 'i18next';\n\nclass Login extends React.Component {\n\n static propTypes = {\n isAuthenticated: PropTypes.bool.isRequired\n };\n\n constructor(props) {\n super(props);\n\n this.login = this.login.bind(this);\n this.usernameInputRef = React.createRef();\n this.passwordInputRef = React.createRef();\n\n this.state = {\n isProcessing: false\n };\n }\n\n render() {\n const { t } = this.props;\n\n\n if (this.state.isProcessing) {\n return \n }\n\n if (this.props.isAuthenticated) {\n let defaultPath = this.props.isTeacher ? '/auth/teacher/games' : '/auth/student/company/dashboard';\n const {from} = this.props.location.state || {from: {pathname: defaultPath}};\n if (this.props.isTeacher) {\n i18next.changeLanguage('cs')\n localStorage.setItem(\"language\", \"cs\")\n }\n return \n }\n\n return (\n
\n
{\n this.login();\n e.preventDefault();\n }\n }>\n
\n

{t(\"login.logingin\")}

\n

\n \n

\n

\n \n

\n

\n \n

\n
\n
\n
\n )\n }\n\n login() {\n // We must use refs instead of onChange handlers because of a bug in Chrome on iOS. This bug causes that autofilled values do not trigger onChange events.\n // https://github.com/facebook/react/issues/1159\n const username = this.usernameInputRef.current.value;\n const password = this.passwordInputRef.current.value;\n\n this.setState({isProcessing: true});\n this.props.login(username, password, () => {\n this.setState({isProcessing: false});\n });\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const user = state.entities.user['first'];\n\n return {\n isRegisteredToGame: user && user.gameId !== null,\n isAuthenticated: state.isAuthenticated,\n isBeingAuthenticated: state.isBeingAuthenticated,\n isTeacher: user !== undefined && user.role === \"teacher\"\n }\n};\n\nconst LoginTranslated = withTranslation('translation')(Login)\n\nexport default withRouter(connect(mapStateToProps, {\n login\n})(LoginTranslated))\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport { connect } from \"react-redux\";\nimport {loadUser, logout} from \"../actions/sync-modules\";\n\nconst PrivateSection = ({ path, isAuthenticated, user, location, children, loadUser, loginProblem, logout, didDownloadUser }) => {\n\n if (loginProblem === true) { // logout from the server side\n console.log(1);\n logout();\n return \n }\n\n if (isAuthenticated === false) { // logout from the frontend\n console.log(2);\n return \n }\n\n if (user === undefined) { // missing user data\n console.log(3);\n if (didDownloadUser !== true) {\n loadUser();\n }\n return null;\n }\n\n return children\n\n};\n\nexport default withRouter(connect(state => {\n const loginProblem = state.errors.find(error => error.code === 401) !== undefined;\n\n return {\n isAuthenticated: state.isAuthenticated,\n user: state.entities.user['first'],\n didDownloadUser: state.downloadedEntities.user,\n loginProblem: loginProblem\n }\n}, {\n loadUser,\n logout\n})(PrivateSection));\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {Link, Redirect, withRouter} from 'react-router-dom'\nimport { withTranslation } from \"react-i18next\";\nimport config from \"../../../config\";\n\n\nclass Homepage extends Component {\n\n static propTypes = {\n\n };\n\n render() {\n const { t } = this.props;\n\n if (this.props.isAuthenticated) {\n return \n }\n\n return (\n
\n
\n

{t(\"homepage.basicInfo\")}

\n {t(\"homepage.enterTheGame\")} »\n
\n {t('homepage.version')}: { config.version }\n
\n
\n
\n )\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n isAuthenticated: state.isAuthenticated\n };\n};\n\nconst HomepageTranslated = withTranslation('translation')(Homepage)\nexport default withRouter(connect(mapStateToProps, {\n\n})(HomepageTranslated))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {toArray} from \"../services/utils\";\nimport {quarterNameFor} from \"../services/quarter\";\nimport config from \"../config\";\nimport { withTranslation } from \"react-i18next\";\n\nclass SummariesTable extends React.Component {\n\n static propTypes = {\n game: PropTypes.object.isRequired,\n summaries: PropTypes.object\n };\n\n render() {\n const summaries = toArray(this.props.summaries);\n\n if (summaries.length === 0) {\n return

{this.props.t(\"summariesTable.noDocYet\")}

;\n } else {\n return this.renderTable(summaries);\n }\n }\n\n renderTable(summaries) {\n return (\n \n \n \n \n \n \n \n \n {summaries.map((summary, index) => {\n const firstQuarterOfYear = summary.quarterNumber - ((summary.quarterNumber - 1) % 4);\n const yearSummaryName =\n quarterNameFor(this.props.game, firstQuarterOfYear) +\n ' - ' +\n quarterNameFor(this.props.game, summary.quarterNumber);\n const quarterSummaryName = quarterNameFor(this.props.game, summary.quarterNumber);\n\n return (\n \n \n \n \n )\n })}\n \n
{this.props.t(\"summariesTable.yearSummary\")}{this.props.t(\"summariesTable.quarterSummary\")}
\n \n cloud_download\n {yearSummaryName}\n \n \n \n cloud_download\n {quarterSummaryName}\n \n
\n )\n }\n}\n\nexport default withTranslation('translation')(SummariesTable)\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { loadSummaries } from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport SummariesTable from \"../../../../components/SummariesTable\";\nimport { withTranslation } from \"react-i18next\";\n\nclass Summaries extends Component {\n\n constructor(props) {\n super(props);\n this.props.loadSummaries();\n }\n\n render() {\n return (\n
\n

{this.props.t(\"summaries.summaries\")}

\n
\n {this.renderSummaries()}\n
\n
\n )\n }\n\n renderSummaries() {\n if (!this.props.didDownloadData) {\n return ;\n } else {\n return \n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n game: state.entities.game['first'],\n summaries: state.entities.summaries,\n didDownloadData: state.downloadedEntities.summaries\n }\n};\n\nconst mapDispatchToProps = {\n loadSummaries\n};\n\nconst SummariesTranslated = withTranslation('translation')(Summaries)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(SummariesTranslated))\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { updateMaterialPurchaseRequirement } from '../../../../actions/sync-modules'\nimport LastChange from '../../../../components/LastChange'\nimport PropTypes from 'prop-types'\nimport NumberField from \"../../../../components/NumberField\";\nimport {formatNumber} from \"../../../../services/utils\";\nimport { withTranslation } from \"react-i18next\";\n\nclass MaterialPurchaseRequirement extends Component {\n\n static propTypes = {\n data: PropTypes.object.isRequired,\n prices: PropTypes.object\n };\n\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n\n this.state = {\n isInitialized: false,\n value: props.data.amount\n }\n }\n\n render() {\n const { t } = this.props;\n const material = this.props.materials.find(material => material.id === this.props.data.materialId);\n return (\n
\n

{t(\"materialPurchaseRequirement.purchase\", {materialName: localStorage.getItem(\"language\") == \"cs\"? material.name : material.nameEn})}

\n
\n \n
\n \n
\n );\n }\n\n handleChange(newValue) {\n newValue = parseInt(newValue, 10);\n this.setState({value: newValue}, () => {\n this.props.updateMaterialPurchaseRequirement(this.props.data.materialId, {\n amount: newValue\n });\n });\n }\n\n getDescription(material) {\n const { t } = this.props;\n const storageAmount = this.props.materialStorage.find(item => item.materialId === this.props.data.materialId).count;\n const currentQuarterPrice = this.props.prices !== undefined && this.props.prices[\"currentPrice\"];\n const discountThreshold = this.props.game.materialDiscountThreshold;\n const discountRate = this.props.game.materialDiscountRate;\n\n const discount = this.state.value >= discountThreshold ? discountRate : 0;\n const totalPrice = currentQuarterPrice * this.state.value;\n\n return (\n t(\"materialPurchaseRequirement.storageState\", {storageAmount: formatNumber(storageAmount)}) +\n t(\"materialPurchaseRequirement.priceForKg\", {currentQuarterPrice: formatNumber(currentQuarterPrice)}) +\n t(\"materialPurchaseRequirement.discount\", {total: formatNumber((discount * totalPrice))}) +\n t(\"materialPurchaseRequirement.purchasePrice\", {total: formatNumber(((1 - discount) * totalPrice))})\n );\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n const company = state.entities.company['first'];\n\n return {\n game: game,\n materials: game.materials,\n materialStorage: company.previousState.materialStorage,\n }\n};\n\nconst mapDispatchToProps = {\n updateMaterialPurchaseRequirement\n};\n\nconst MaterialPurchaseRequirementTranslated = withTranslation('translation')(MaterialPurchaseRequirement)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MaterialPurchaseRequirementTranslated))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { quarterNameFor } from \"../../../../services/quarter\";\nimport {formatNumber} from \"../../../../services/utils\";\nimport { withTranslation } from \"react-i18next\";\n\nconst MaterialPurchaseTable = ({ game, data, t }) => {\n return (\n \n \n \n \n {data.map(item => )}\n \n \n \n \n \n {data.map(item => )}\n \n \n \n {data.map(item => )}\n \n \n \n {data.map(item => )}\n \n \n \n {data.map(item => )}\n \n \n \n {data.map(item => )}\n \n \n \n {data.map(item => )}\n \n \n
{quarterNameFor(game, item.quarterNumber)}
{t(\"materialPurchaseTable.purchased\")}{formatNumber(item.amount)}
{t(\"materialPurchaseTable.price\")}{formatNumber(item.price)}
{t(\"materialPurchaseTable.discount\")}{formatNumber(item.discountRate * 100)} %
{t(\"materialPurchaseTable.priceTotal\")}{formatNumber(Math.round(item.totalPrice))}
{t(\"materialPurchaseTable.finalStorageState\")}{formatNumber(item.storageAmount)}
{t(\"materialPurchaseTable.storageCosts\")}{formatNumber(Math.round(item.storagePrice))}
\n )\n};\n\nMaterialPurchaseTable.propTypes = {\n game: PropTypes.object.isRequired,\n data: PropTypes.array.isRequired,\n t: PropTypes.func.isRequired\n};\n\nexport default withTranslation('translation')(MaterialPurchaseTable)\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { loadMaterialPurchase } from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport MaterialPurchaseRequirement from './MaterialPurchaseRequirement'\nimport MaterialPurchaseTable from './MaterialPurchaseTable'\nimport { withTranslation } from \"react-i18next\";\n\nclass MaterialPurchase extends Component {\n\n constructor(props) {\n super(props);\n this.props.loadMaterialPurchase();\n }\n\n render() {\n return (\n
\n
\n {this.renderMaterialRequirements()}\n
\n
\n {this.renderMaterialPurchase()}\n
\n
\n )\n }\n\n renderMaterialPurchase() {\n const { t } = this.props;\n if (Object.keys(this.props.materialPurchase).length === 0) {\n return (\n \n );\n }\n\n return this.props.materials.map(material => {\n return (\n
\n
\n

{t(\"materialPurchase.purchasesAndSupplies\", {materialName: localStorage.getItem(\"language\") == \"cs\"? material.name : material.nameEn})}

\n
\n \n
\n
\n
\n )\n });\n }\n\n renderMaterialRequirements() {\n if (Object.keys(this.props.materialPurchaseRequirement).length === 0) {\n return \n } else {\n return this.props.materials.map(material => {\n return (\n
\n \n
\n )\n });\n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n\n return {\n game: game,\n materials: game.materials,\n materialPurchase: state.entities.materialPurchase,\n materialPurchasePrices: state.entities.materialPurchasePrices,\n materialPurchaseRequirement: state.entities.materialPurchaseRequirement\n }\n};\n\nconst mapDispatchToProps = {\n loadMaterialPurchase\n};\n\nconst MaterialPurchaseTraslated = withTranslation('translation')(MaterialPurchase)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MaterialPurchaseTraslated))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { quarterNameFor } from \"../../../../services/quarter\";\nimport {toArray} from \"../../../../services/utils\";\n\n\nconst StaffTable = ({ game, data, t }) => {\n data = toArray(data);\n data.sort((a, b) => a.quarterNumber - b.quarterNumber);\n \n return (\n \n \n \n \n {data.map(item => )}\n \n \n \n \n \n {data.map(item => )}\n \n \n \n {data.map(item => )}\n \n \n \n {data.map(item => )}\n \n \n \n {data.map(item => )}\n \n \n
{quarterNameFor(game, item.quarterNumber)}
{t(\"staffTable.number\")}{item.employees}
{t(\"staffTable.personalIndex\")}{item.personalIndex}
{t(\"staffTable.salaryIndex\")}{item.salaryIndex}
{t(\"staffTable.education\")}{item.education ? t(\"staffTable.yes\") : t(\"staffTable.no\")}
\n )\n};\n\nStaffTable.propTypes = {\n game: PropTypes.object.isRequired,\n data: PropTypes.object.isRequired,\n t: PropTypes.func.isRequired\n};\n\nexport default StaffTable\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { updateStaffRequirement } from '../../../../actions/sync-modules'\nimport LastChange from '../../../../components/LastChange'\nimport SliderWithField from \"../../../../components/SliderWithField\";\nimport {currentQuarter, quarterNameFor} from \"../../../../services/quarter\";\nimport PropTypes from 'prop-types'\nimport {formatNumber} from \"../../../../services/utils\";\nimport { withTranslation } from \"react-i18next\";\n\nclass StaffRequirement extends Component {\n\n static propTypes = {\n salaryIndex: PropTypes.number\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isInitialized: false,\n fire: 0,\n hire: 0,\n confirmedLethalFiring: null\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state.isInitialized === false && props.staffRequirement !== undefined) {\n return {\n isInitialized: true,\n fire: props.staffRequirement.fire,\n hire: props.staffRequirement.hire,\n confirmedLethalFiring: props.staffRequirement.fire\n }\n }\n return null\n }\n\n render() {\n const { t } = this.props;\n return [\n
\n \n {this.renderLethalSellWarning()}\n \n\n
,\n \n ]\n }\n\n handleFireEmployees(value, isFinal = false) {\n if (isFinal && this.confirmLethalValue(value) === false) {\n return false;\n } else {\n this.setState({fire: value});\n this.props.updateStaffRequirement({fire: value, hire: this.state.hire});\n return true;\n }\n }\n\n confirmLethalValue(value) {\n const { t } = this.props;\n if (value !== this.state.confirmedLethalFiring) {\n if (value === this.props.currentEmployeeCount) {\n if (window.confirm(t(\"staffRequirement.confirmFireAll\"))) {\n this.setState({confirmedLethalFiring: value});\n } else {\n return false;\n }\n } else if (value >= 6) {\n if (window.confirm(t(\"staffRequirement.confirmFireMultiple\", {value: value}))) {\n this.setState({confirmedLethalFiring: value});\n } else {\n return false;\n }\n } else {\n this.setState({confirmedLethalFiring: value});\n }\n }\n\n return true;\n }\n\n handleHireEmployees(value) {\n this.setState({hire: value});\n this.props.updateStaffRequirement({fire: this.state.fire, hire: value});\n }\n\n getFiringDescription() {\n const { t } = this.props;\n const salary = (this.props.salaryIndex/100) * this.props.salaryBase;\n return t(\"staffRequirement.firingDescription\", {salary: formatNumber(Math.round(salary)),\n quarterName: quarterNameFor(this.props.game, this.props.currentQuarter + 2),\n value: formatNumber(Math.round(salary * this.state.fire))})\n }\n\n getHiringDescription() {\n const { t } = this.props;\n const salary = (this.props.salaryIndex/100) * this.props.salaryBase;\n return t(\"staffRequirement.hiringDescription\", {salary: formatNumber(Math.round(salary)),\n quarterName: quarterNameFor(this.props.game, this.props.currentQuarter),\n value: formatNumber(Math.round(salary * this.state.hire))})\n }\n\n renderLethalSellWarning() {\n const { t } = this.props;\n if (this.props.currentEmployeeCount - this.state.fire === 0) {\n return
{t(\"staffRequirement.warningFireAll\")}
\n } else if (this.props.currentEmployeeCount - this.state.fire <= 5) {\n return
{t(\"staffRequirement.warningFireMultiple\")}
\n } else {\n return null;\n }\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n const company = state.entities.company['first'];\n\n return {\n game: game,\n goods: game.goods,\n currentQuarter: currentQuarter(game).quarterNumber,\n currentEmployeeCount: company.currentState.employeeCount,\n maxEmployeeCount: game.maxEmployees,\n staffRequirement: state.entities.staffRequirement['first'],\n salaryBase: game.defaultSalary,\n }\n};\n\nconst mapDispatchToProps = {\n updateStaffRequirement\n};\n\nconst StaffRequirementTranslated = withTranslation('translation')(StaffRequirement)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(StaffRequirementTranslated))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {nl2br} from \"../services/utils\";\n\nclass SelectField extends React.Component {\n\n static propTypes = {\n title: PropTypes.string,\n defaultValue: PropTypes.any,\n options: PropTypes.array.isRequired,\n description: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n name: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n\n this.state = {\n value: props.options.findIndex(option => option.value === props.defaultValue)\n };\n }\n\n render() {\n const { title, options, description } = this.props;\n\n return (\n
\n {title !== undefined ?
{title}
: null}\n this.setState({value: e.target.value}, this.handleChange)}\n disabled={this.props.disabled}\n >\n {options.map((option, index) => )}\n \n
{nl2br(description)}
\n
\n );\n }\n\n handleChange() {\n const originalValue = this.props.options[this.state.value].value;\n this.props.onChange(originalValue);\n }\n}\n\nexport default SelectField\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { updateStaffPersonalPolicy } from '../../../../actions/sync-modules'\nimport LastChange from '../../../../components/LastChange'\nimport SliderWithField from \"../../../../components/SliderWithField\";\nimport SelectField from \"../../../../components/SelectField\";\nimport PropTypes from 'prop-types'\nimport {formatNumber, nl2br} from \"../../../../services/utils\";\nimport { withTranslation } from \"react-i18next\";\n\nclass StaffPersonalPolicy extends Component {\n\n static propTypes = {\n onSalaryIndexChange: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isInitialized: false,\n salaryIndex: 0,\n education: 0\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state.isInitialized === false && props.staffPersonalPolicy !== undefined) {\n props.onSalaryIndexChange(props.staffPersonalPolicy.salaryIndex);\n return {\n isInitialized: true,\n salaryIndex: props.staffPersonalPolicy.salaryIndex,\n education: props.staffPersonalPolicy.education\n }\n }\n return null\n }\n\n render() {\n const { t } = this.props;\n if (this.props.staffPersonalPolicy === undefined) return null;\n\n const salary = this.props.salaryBase * (this.state.salaryIndex/100);\n\n return [\n
\n this.setState({salaryIndex: val}, this.handleChange)}\n />\n this.setState({education: val}, this.handleChange)}\n options={[{title: t(\"staffPersonalPolicy.no\"), value: false}, {title: t(\"staffPersonalPolicy.yes\"), value: true}]}\n defaultValue={this.state.education}\n />\n
\n
{t(\"staffPersonalPolicy.laborMarket\")}
\n
{nl2br(this.getMoreInfoText())}
\n
\n
,\n \n ]\n }\n\n handleChange() {\n this.props.updateStaffPersonalPolicy({\n salaryIndex: this.state.salaryIndex,\n education: this.state.education\n });\n this.props.onSalaryIndexChange(this.state.salaryIndex);\n }\n\n getMoreInfoText() {\n const { t } = this.props;\n const piUnderAverage = this.props.staffPersonalPolicy.wasPersonalIndexUnderMarketAverageInPreviousQuarter;\n const hiredEmployeeCount = this.props.staffRequirement.hire;\n\n let out = piUnderAverage ? t(\"staffPersonalPolicy.indexUnderAvg\") : t(\"staffPersonalPolicy.indexAboveAvg\")\n\n if (piUnderAverage && hiredEmployeeCount > 0) {\n const hiringCosts = hiredEmployeeCount * this.props.hiringFee;\n out += t(\"staffPersonalPolicy.hiringCosts\", {amount: Math.round(hiringCosts / 1000) })\n }\n\n return out;\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n\n return {\n goods: game.goods,\n maxSalaryIndex: game.maxSalaryIndex,\n minSalaryIndex: game.minSalaryIndex,\n staffRequirement: state.entities.staffRequirement['first'],\n staffPersonalPolicy: state.entities.staffPersonalPolicy['first'],\n salaryBase: game.defaultSalary,\n hiringFee: game.hiringFee\n }\n};\n\nconst mapDispatchToProps = {\n updateStaffPersonalPolicy\n};\n\nconst StaffPersonalPolicyTranslated = withTranslation('translation')(StaffPersonalPolicy)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(StaffPersonalPolicyTranslated))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { loadStaff } from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport StaffTable from \"./StaffTable\";\nimport StaffRequirement from \"./StaffRequirement\";\nimport StaffPersonalPolicy from \"./StaffPersonalPolicy\";\nimport { withTranslation } from \"react-i18next\";\n\nclass Staff extends Component {\n\n constructor(props) {\n super(props);\n this.props.loadStaff();\n\n this.state = {\n salaryIndex: null\n }\n }\n\n render() {\n const { t } = this.props;\n return (\n
\n
\n
\n
\n

{t(\"staff.humanResources\")}

\n
\n {this.renderStaffTable()}\n
\n
\n
\n
\n
\n
\n
\n

{t(\"staff.hireAndFire\")}

\n {this.renderStaffRequirement()}\n
\n
\n
\n
\n

{t(\"staff.personalPolicy\")}

\n {this.renderStaffPolicy()}\n
\n
\n
\n
\n )\n }\n\n renderStaffTable() {\n const { t } = this.props;\n if (this.props.staff === undefined) {\n return (\n \n );\n } else if (this.props.staff.length === 0) {\n return (\n

{t(\"staff.noData\")}

\n );\n } else {\n return \n }\n }\n\n renderStaffRequirement() {\n if (this.props.staffRequirement === undefined || this.props.staffPersonalPolicy === undefined) {\n return \n } else {\n return \n }\n }\n\n renderStaffPolicy() {\n if (this.props.staffRequirement === undefined || this.props.staffPersonalPolicy === undefined) {\n return \n } else {\n return this.setState({salaryIndex: newSalaryIndex})}/>\n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n\n return {\n game: game,\n goods: game.goods,\n staff: state.entities.staff['first'],\n staffRequirement: state.entities.staffRequirement['first'],\n staffPersonalPolicy: state.entities.staffPersonalPolicy['first']\n }\n};\n\nconst mapDispatchToProps = {\n loadStaff\n};\n\nconst StaffTranslated = withTranslation('translation')(Staff)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(StaffTranslated))\n","import React from 'react'\n\nconst Error = ({children}) => {\n return (\n
\n {children}\n
\n )\n};\n\nError.propTypes = {\n\n};\n\nexport default Error\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport { registerToGame } from '../../../../actions/sync-modules'\nimport {connect} from \"react-redux\";\nimport Error from \"../../../../components/Error\";\nimport Loader from \"../../../../components/Loader\";\nimport config from \"../../../../config\";\nimport { withTranslation } from \"react-i18next\";\n\n\nclass RegistrationToGame extends React.Component {\n\n static propTypes = {\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n registrationPhrase: '',\n isBeingRegistered: false\n }\n }\n\n render() {\n const { t } = this.props;\n if (this.props.isRegisteredToGame) {\n return \n }\n\n if (this.state.isBeingRegistered) {\n return \n }\n\n return (\n
\n
{\n this.registerToGame();\n e.preventDefault();\n }}>\n
\n\n

{t(\"registrationToGame.registrationToTheGame\")}

\n {this.renderError()}\n

\n this.setState({registrationPhrase: e.target.value})\n }\n />\n

\n

\n \n

\n
\n
\n
\n )\n }\n\n registerToGame() {\n this.setState({isBeingRegistered: true}, () => {\n this.props.registerToGame(this.state.registrationPhrase, () => {\n this.setState({isBeingRegistered: false});\n });\n });\n }\n\n renderError() {\n if (this.props.falseRegistrationPhrase) {\n return {this.props.t(\"registrationToGame.badPhrase\")};\n } else {\n return null;\n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const user = state.entities.user['first'];\n const userGame = state.entities.userGame['first'];\n\n return {\n isRegisteredToGame: (user.gameId !== undefined && user.gameId !== null) || (userGame !== undefined && userGame !== null),\n falseRegistrationPhrase: userGame === null\n }\n};\n\nconst RegistrationToGameTranslated = withTranslation('translation')(RegistrationToGame)\n\nexport default withRouter(connect(mapStateToProps, {\n registerToGame\n})(RegistrationToGameTranslated))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport SelectField from \"./SelectField\";\nimport { withTranslation } from \"react-i18next\";\n\nclass SelectSeminar extends React.Component {\n\n static propTypes = {\n game: PropTypes.object.isRequired,\n defaultValue: PropTypes.number,\n onChange: PropTypes.func.isRequired\n };\n\n render() {\n let options = this.props.game.seminars.map(seminar => \n ({title: (localStorage.getItem(\"language\") == \"cs\" ? seminar.name : seminar.nameEn), value: seminar.id}));\n options.unshift({title: this.props.t(\"selectSeminar.select\"), value: false});\n\n return (\n this.props.onChange(value)}\n />\n )\n }\n\n}\n\nexport default withTranslation('translation')(SelectSeminar)","import lookup from 'void-elements'\nconst attrRE = /\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g\n\nexport default function stringify(tag) {\n const res = {\n type: 'tag',\n name: '',\n voidElement: false,\n attrs: {},\n children: [],\n }\n\n const tagMatch = tag.match(/<\\/?([^\\s]+?)[/\\s>]/)\n if (tagMatch) {\n res.name = tagMatch[1]\n if (\n lookup[tagMatch[1]] ||\n tag.charAt(tag.length - 2) === '/'\n ) {\n res.voidElement = true\n }\n\n // handle comment tag\n if (res.name.startsWith('!--')) {\n const endIndex = tag.indexOf('-->')\n return {\n type: 'comment',\n comment: endIndex !== -1 ? tag.slice(4, endIndex) : '',\n }\n }\n }\n\n const reg = new RegExp(attrRE)\n let result = null\n for (;;) {\n result = reg.exec(tag)\n\n if (result === null) {\n break\n }\n\n if (!result[0].trim()) {\n continue\n }\n\n if (result[1]) {\n const attr = result[1].trim()\n let arr = [attr, '']\n\n if (attr.indexOf('=') > -1) {\n arr = attr.split('=')\n }\n\n res.attrs[arr[0]] = arr[1]\n reg.lastIndex--\n } else if (result[2]) {\n res.attrs[result[2]] = result[3].trim().substring(1, result[3].length - 1)\n }\n }\n\n return res\n}\n","import parseTag from './parse-tag'\n\nconst tagRE = /<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g\nconst whitespaceRE = /^\\s*$/\n\n// re-used obj for quick lookups of components\nconst empty = Object.create(null)\n\nexport default function parse(html, options) {\n options || (options = {})\n options.components || (options.components = empty)\n const result = []\n const arr = []\n let current\n let level = -1\n let inComponent = false\n\n // handle text at top level\n if (html.indexOf('<') !== 0) {\n var end = html.indexOf('<')\n result.push({\n type: 'text',\n content: end === -1 ? html : html.substring(0, end),\n })\n }\n\n html.replace(tagRE, function (tag, index) {\n if (inComponent) {\n if (tag !== '') {\n return\n } else {\n inComponent = false\n }\n }\n const isOpen = tag.charAt(1) !== '/'\n const isComment = tag.startsWith(''\n return buff\n }\n}\n\nexport default function (doc) {\n return doc.reduce(function (token, rootEl) {\n return token + stringify('', rootEl)\n }, '')\n}\n","import parse from './parse'\nimport stringify from './stringify'\n\nexport default {\n parse,\n stringify,\n}\n","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import React from 'react'\nimport {withRouter} from 'react-router-dom'\nimport {connect} from \"react-redux\";\nimport {loadUserCompanies, updateUserCompany, addNewCompany, updateCompany, deleteCompany } from \"../../../../actions/sync-modules\";\nimport Loader from \"../../../../components/Loader\";\nimport {dateFromUnixTimestamp, formatDateTime, toArray} from \"../../../../services/utils\";\nimport SelectSeminar from \"../../../../components/SelectSeminar\";\nimport {removeErrorMessageById} from \"../../../../actions/errors\";\nimport {Schemas} from \"../../../../middleware/sync/schema\";\nimport {existsServerError, serverErrorId} from \"../../../../services/errors\";\nimport Tooltip from 'react-tooltip-lite';\nimport config from \"../../../../config\";\nimport {withTranslation, Trans} from \"react-i18next\";\n\nclass CompanyRegistration extends React.Component {\n\n static propTypes = {\n };\n\n constructor(props) {\n super(props);\n\n this.addNewCompany = this.addNewCompany.bind(this);\n\n this.state = {\n isUserInCompany: false,\n userCompany: undefined,\n addNewCompany: false,\n userHasCreatedCompany: false,\n userOwnCompany: undefined,\n isSaving: false,\n };\n\n this.props.loadUserCompanies();\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.userCompanies !== undefined) {\n const userCompany = toArray(props.userCompanies).filter(company => company.users.find(user => user.id === props.user.id) !== undefined);\n const userOwnCompany = toArray(props.userCompanies).filter(company => company.ownerId === props.user.id);\n return {\n isUserInCompany: userCompany.length > 0,\n userCompany: userCompany[0],\n userHasCreatedCompany: userOwnCompany.length > 0,\n userOwnCompany: userOwnCompany[0]\n }\n }\n return {\n userHasCreatedCompany: false\n };\n }\n\n render() {\n const { t } = this.props;\n return (\n
\n
\n
\n
\n

{t(\"companyRegistration.overview\")}

\n
\n
\n this.setState({addNewCompany: true})}\n disabled={this.state.isAddingNewCompany || this.state.addNewCompany || this.state.userHasCreatedCompany || !this.props.didDownloadData || this.state.isSaving}\n >{t(\"companyRegistration.newCompany\")}\n
\n
\n
\n {this.renderContent()}\n
\n
\n
\n )\n }\n\n renderContent() {\n if (!this.props.didDownloadData || this.state.isSaving) {\n return \n }\n\n return (\n
\n {this.renderNewCompany()}\n {this.renderUserInCompanyInfo()}\n {this.renderMyCompanyInfo()}\n
\n {this.renderCompanies()}\n
\n
\n )\n }\n\n renderUserInCompanyInfo() {\n const registrationEndDate = formatDateTime(dateFromUnixTimestamp(this.props.game.endOfRegistrations));\n\n if (this.state.isUserInCompany) {\n return
\n \n companyRegistration.addSuccess\n \n \n
\n } else {\n return
\n error\n \n companyRegistration.notYetRegisteredInfo\n \n
\n }\n }\n\n renderMyCompanyInfo() {\n const { t } = this.props;\n if (this.state.userHasCreatedCompany) {\n return
\n {t(\"companyRegistration.founderInfo\", {companyName: this.state.userOwnCompany.name})}\n
\n } else {\n return null;\n }\n }\n\n renderCompanies() {\n const { t } = this.props;\n const arr = toArray(this.props.userCompanies).sort((a, b) => {\n if (a.ownerId === this.props.user.id) return -1;\n else if (a.name > b.name) return 1;\n else if (a.name < b.name) return -1;\n else return 0;\n });\n\n if (arr.length === 0) {\n return
{t(\"companyRegistration.nothingFounded\")}
\n }\n\n return arr.map(item => {\n if (item.ownerId === this.props.user.id) {\n return this.renderMyCompanyRow(item);\n } else {\n return this.renderForeignCompanyRow(item);\n }\n });\n }\n\n renderForeignCompanyRow(item) {\n return (\n
\n
{item.name}
\n
{this.findSeminarName(item.seminarId)}
\n
{this.renderUserChips(item, item.users)}
\n
\n )\n }\n\n findSeminarName(seminarId) {\n const seminars = this.props.game.seminars;\n const seminar = seminars.find(i => i.id === seminarId);\n\n return seminar === undefined ? '' : seminar.name;\n }\n\n renderMyCompanyRow(item) {\n const { t } = this.props;\n return (\n
\n
{t(\"companyRegistration.yourCompany\")}
\n
\n {t(\"companyRegistration.companyName\")}
\n this.updateCompany(item.id, e.target.value, item.seminar)\n } />\n
\n
\n {t(\"companyRegistration.seminar\")}\n { if (value !== false) this.updateCompany(item.id, item.name, value); }}\n game={this.props.game}\n />\n
\n
\n {this.renderUserChips(item, item.users)}\n
\n
\n \n {\n if (window.confirm(t(\"companyRegistration.confirmDelete\", {companyName: item.name}))) {\n this.props.deleteCompany(item.id);\n }\n }\n }>delete_outline {t(\"companyRegistration.delete\")}\n \n
\n
\n )\n }\n\n updateCompany(id, name, seminarId) {\n this.props.removeErrorMessageById(serverErrorId('put', Schemas.USER_COMPANY));\n this.props.updateCompany(id, name, seminarId);\n }\n\n renderUserChips(company, students) {\n const { t } = this.props;\n let isMeInRow = false;\n\n let results = students.map(student => {\n const isItMe = student.id === this.props.user.id;\n isMeInRow = isItMe ? true : isMeInRow;\n const cn = isItMe ? 'badge-violet' : 'badge-primary';\n return (\n \n {student.name}\n { (isItMe && this.state.userHasCreatedCompany === false) ?\n this.updateUserCompany(null)\n }>close\n : null }\n \n )\n });\n\n if (students.length === 0) {\n results.push(
{t(\"companyRegistration.noStudents\")}
);\n }\n\n if (isMeInRow === false && this.state.userHasCreatedCompany === false) {\n results.push();\n }\n\n return results;\n }\n\n updateUserCompany(companyId) {\n this.setState({isSaving: true});\n this.props.removeErrorMessageById(serverErrorId('put', Schemas.USER));\n this.props.updateUserCompany(this.props.user, companyId, () => {\n if (this.props.existsUserCompanyUpdateError === false) {\n // success\n this.props.loadUserCompanies();\n this.setState({isSaving: false});\n } else {\n // failure\n this.setState({isSaving: false});\n }\n });\n }\n\n renderNewCompany() {\n const { t } = this.props;\n const addNewCompanyHandler = this.addNewCompany;\n\n if (this.state.addNewCompany) {\n return
\n

{t(\"companyRegistration.companyCreation\")}

\n
\n {t(\"companyRegistration.companyName\")}
\n { if(e.key === 'Enter') addNewCompanyHandler(); }}\n onChange={e => this.setState({ newCompanyName: e.target.value})}\n maxLength={config.maxCompanyNameLength}\n />\n
\n
\n {t(\"companyRegistration.seminar\")}
\n this.setState({ newCompanySeminarId: value})}\n game={this.props.game}\n />\n
\n
\n addNewCompanyHandler()}\n disabled={!this.state.newCompanyName || !this.state.newCompanySeminarId}\n >{t(\"companyRegistration.createCompany\")}\n this.setState({addNewCompany: false})}\n >{t(\"companyRegistration.cancel\")}\n
\n
\n\n } else if (this.state.isAddingNewCompany) {\n return \n }\n }\n\n addNewCompany() {\n if (!this.state.newCompanyName || !this.state.newCompanySeminarId) {\n return;\n }\n\n this.props.removeErrorMessageById(serverErrorId('post', Schemas.USER_COMPANY));\n\n this.setState({addNewCompany: false, isAddingNewCompany: true}, () => {\n this.props.addNewCompany(this.state.newCompanyName, this.state.newCompanySeminarId, () => {\n if (this.props.existsCompanyCreateError === false) {\n // success:\n // hide add company form\n this.setState({isAddingNewCompany: false, newCompanyName: null, newCompanySeminarId: null});\n // assign user to the new company\n const newCompanyId = toArray(this.props.userCompanies).find(i => i.ownerId === this.props.user.id).id;\n this.updateUserCompany(newCompanyId);\n } else {\n // failure:\n // show add company form again\n this.setState({isAddingNewCompany: false, addNewCompany: true});\n }\n });\n });\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n user: state.entities.user['first'],\n game: state.entities.game['first'],\n userCompanies: state.entities.userCompanies,\n didDownloadData: state.downloadedEntities.userCompanies,\n existsCompanyCreateError: existsServerError(state.errors, 'post', Schemas.USER_COMPANY),\n existsUserCompanyUpdateError: existsServerError(state.errors, 'put', Schemas.USER)\n\n }\n};\n\nconst CompanyRegistrationTranslated = withTranslation('translation')(CompanyRegistration)\n\nexport default withRouter(connect(mapStateToProps, {\n loadUserCompanies,\n updateUserCompany,\n addNewCompany,\n updateCompany,\n deleteCompany,\n removeErrorMessageById\n})(CompanyRegistrationTranslated))\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport { connect } from \"react-redux\";\n\nconst StudentSection = ({ isTeacher, children }) => {\n\n if (isTeacher) { // redirect teacher away from the student section\n console.log(4);\n return \n }\n\n return children;\n\n};\n\nexport default withRouter(connect(state => {\n const user = state.entities.user['first'];\n\n return {\n isTeacher: user !== undefined && user.role === \"teacher\",\n }\n}, {\n})(StudentSection));\n\n\n\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport { connect } from \"react-redux\";\n\nconst TeacherSection = ({ path, location, children, isStudent }) => {\n\n if (isStudent) { // redirect student away from the teacher section\n console.log(12);\n return \n }\n\n return children\n\n};\n\nexport default withRouter(connect(state => {\n const user = state.entities.user['first'];\n\n return {\n isStudent: user !== undefined && user.role === \"student\"\n }\n}, {\n\n})(TeacherSection));\n\n\n\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport 'moment/locale/cs'; // this is required to prevent a bug when czech locale is not loaded\nimport 'react-datepicker/dist/react-datepicker.css';\nimport {Link} from \"react-router-dom\";\nimport onClickOutside from \"react-onclickoutside\";\n\nclass TableRowDropdown extends React.Component {\n\n static propTypes = {\n items: PropTypes.array.isRequired\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isVisible: false\n }\n }\n\n render() {\n return (\n
\n\n {\n this.setState({isVisible: !this.state.isVisible});\n }}>more_vert\n\n
\n {this.props.items.map(item => this.renderDropdownItem(item))}\n
\n\n
\n );\n }\n\n renderDropdownItem(item) {\n if (item.linkTo !== undefined) {\n return {item.title}\n } else {\n return item.onClick()} className=\"dropdown-item pointer\">{item.title}\n }\n }\n\n handleClickOutside(evt) {\n this.setState({isVisible: false});\n }\n\n}\n\nexport default onClickOutside(TableRowDropdown);","import React from 'react'\nimport {Link, withRouter} from 'react-router-dom'\nimport {connect} from \"react-redux\";\nimport {deleteTeacherGame, loadTeacherGames} from \"../../../../actions/sync-modules\";\nimport Loader from \"../../../../components/Loader\";\nimport {toArray} from \"../../../../services/utils\";\nimport {currentQuarter, hasGameEnded, isRegistrationPeriod} from \"../../../../services/quarter\";\nimport TableRowDropdown from \"../../../../components/TableRowDropdown\";\n\nclass Games extends React.Component {\n\n static propTypes = {\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n menus: [],\n };\n\n this.props.loadTeacherGames();\n }\n\n render() {\n if (!this.props.didDownloadData) {\n return \n }\n\n return (\n
\n
\n
\n
\n

Strategické hry

\n
\n
\n Nová hra\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n {this.renderTableRows()}\n \n
NázevKoloStavŽádosti
\n
\n
\n
\n )\n }\n\n renderTableRows() {\n const arr = toArray(this.props.games);\n\n if(arr.length === 0) {\n return Žádné hry.\n }\n\n return arr.map(item => {\n return (\n \n \n {\n item.isRunningCalculations\n ? item.name\n : {item.name}\n }\n \n {currentQuarter(item).quarterNumber}\n {this.getGameState(item)}\n {\n item.openedLoanRequirements === 0 ? '0' :\n \n {item.openedLoanRequirements}\n \n }\n \n {\n if(window.confirm(\"Opravdu SMAZAT CELOU HRU \" + item.name + \"? Tato akce nelze vrátit!\")) {\n this.props.deleteTeacherGame(item.id);\n }\n }}\n ]\n }/>\n \n \n )\n });\n }\n\n getGameState(game) {\n if (game.isRunningCalculations) {\n return \"probíhají výpočty\";\n } else if (isRegistrationPeriod(game)) {\n return \"registrace\";\n } else if (game.marketsEnabled === false) {\n return \"editace trhů\";\n } else if (hasGameEnded(game)) {\n return \"ukončená\";\n } else {\n return \"běží\";\n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n games: state.entities.teacherGames,\n didDownloadData: state.downloadedEntities.teacherGames\n }\n};\n\nexport default withRouter(connect(mapStateToProps, {\n loadTeacherGames,\n deleteTeacherGame\n})(Games))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport config from \"../config\";\n\nclass TextField extends React.Component {\n\n static propTypes = {\n title: PropTypes.string,\n defaultValue: PropTypes.string,\n description: PropTypes.string,\n onChange: PropTypes.func,\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n name: PropTypes.string,\n maxLength: PropTypes.number,\n className: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n\n this.state = {\n value: props.defaultValue || \"\"\n };\n }\n\n wrapDescription(description) {\n if (description === undefined) {\n return \"\";\n } else {\n return description.split('\\n').map((item, key) => {\n return {item}
\n })\n }\n }\n\n render() {\n const { title, description, className } = this.props;\n const maxLength = this.props.maxLength === undefined ? config.maxString : this.props.maxLength;\n\n return (\n
\n
{title}
\n this.handleChange(event.target.value)}\n disabled={this.props.disabled}\n name={this.props.name}\n maxLength={maxLength}\n />\n
{this.wrapDescription(description)}
\n
\n );\n }\n\n handleChange(newValue) {\n this.setState({value: newValue});\n this.props.onChange(newValue);\n }\n}\n\nexport default TextField\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n","import _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from '@hypnosphi/create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === \"function\") {\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 return fn.apply(void 0, args);\n }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (bKeys.length !== aKeys.length) {\n return false;\n }\n\n for (var i = 0; i < bKeys.length; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === \"function\") {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport deepEqual from \"deep-equal\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n setRef(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_assertThisInitialized(_this)),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || !deepEqual(this.props.modifiers, prevProps.modifiers, {\n strict: true\n })) {\n // develop only check that modifiers isn't being updated needlessly\n if (process.env.NODE_ENV === \"development\") {\n if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n }\n }\n\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport warning from 'warning';\nimport { ManagerReferenceNodeSetterContext } from './Manager';\nimport { safeInvoke, unwrapArray, setRef } from './utils';\n\nvar InnerReference =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerReference, _React$Component);\n\n function InnerReference() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"refHandler\", function (node) {\n setRef(_this.props.innerRef, node);\n safeInvoke(_this.props.setReferenceNode, node);\n });\n\n return _this;\n }\n\n var _proto = InnerReference.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n };\n\n _proto.render = function render() {\n warning(Boolean(this.props.setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');\n return unwrapArray(this.props.children)({\n ref: this.refHandler\n });\n };\n\n return InnerReference;\n}(React.Component);\n\nexport default function Reference(props) {\n return React.createElement(ManagerReferenceNodeSetterContext.Consumer, null, function (setReferenceNode) {\n return React.createElement(InnerReference, _extends({\n setReferenceNode: setReferenceNode\n }, props));\n });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport onClickOutside from 'react-onclickoutside';\nimport moment from 'moment';\nimport { Manager, Popper, Reference } from 'react-popper';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nfunction generateYears(year, noOfYear, minDate, maxDate) {\n var list = [];\n for (var i = 0; i < 2 * noOfYear + 1; i++) {\n var newYear = year + noOfYear - i;\n var isInRange = true;\n\n if (minDate) {\n isInRange = minDate.year() <= newYear;\n }\n\n if (maxDate && isInRange) {\n isInRange = maxDate.year() >= newYear;\n }\n\n if (isInRange) {\n list.push(newYear);\n }\n }\n\n return list;\n}\n\nvar YearDropdownOptions = function (_React$Component) {\n inherits(YearDropdownOptions, _React$Component);\n\n function YearDropdownOptions(props) {\n classCallCheck(this, YearDropdownOptions);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.renderOptions = function () {\n var selectedYear = _this.props.year;\n var options = _this.state.yearsList.map(function (year) {\n return React.createElement(\n \"div\",\n {\n className: selectedYear === year ? \"react-datepicker__year-option react-datepicker__year-option--selected_year\" : \"react-datepicker__year-option\",\n key: year,\n ref: year,\n onClick: _this.onChange.bind(_this, year)\n },\n selectedYear === year ? React.createElement(\n \"span\",\n { className: \"react-datepicker__year-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n year\n );\n });\n\n var minYear = _this.props.minDate ? _this.props.minDate.year() : null;\n var maxYear = _this.props.maxDate ? _this.props.maxDate.year() : null;\n\n if (!maxYear || !_this.state.yearsList.find(function (year) {\n return year === maxYear;\n })) {\n options.unshift(React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-option\",\n ref: \"upcoming\",\n key: \"upcoming\",\n onClick: _this.incrementYears\n },\n React.createElement(\"a\", { className: \"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-upcoming\" })\n ));\n }\n\n if (!minYear || !_this.state.yearsList.find(function (year) {\n return year === minYear;\n })) {\n options.push(React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-option\",\n ref: \"previous\",\n key: \"previous\",\n onClick: _this.decrementYears\n },\n React.createElement(\"a\", { className: \"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-previous\" })\n ));\n }\n\n return options;\n };\n\n _this.onChange = function (year) {\n _this.props.onChange(year);\n };\n\n _this.handleClickOutside = function () {\n _this.props.onCancel();\n };\n\n _this.shiftYears = function (amount) {\n var years = _this.state.yearsList.map(function (year) {\n return year + amount;\n });\n\n _this.setState({\n yearsList: years\n });\n };\n\n _this.incrementYears = function () {\n return _this.shiftYears(1);\n };\n\n _this.decrementYears = function () {\n return _this.shiftYears(-1);\n };\n\n var yearDropdownItemNumber = props.yearDropdownItemNumber,\n scrollableYearDropdown = props.scrollableYearDropdown;\n\n var noOfYear = yearDropdownItemNumber || (scrollableYearDropdown ? 10 : 5);\n\n _this.state = {\n yearsList: generateYears(_this.props.year, noOfYear, _this.props.minDate, _this.props.maxDate)\n };\n return _this;\n }\n\n YearDropdownOptions.prototype.render = function render() {\n var dropdownClass = classnames({\n \"react-datepicker__year-dropdown\": true,\n \"react-datepicker__year-dropdown--scrollable\": this.props.scrollableYearDropdown\n });\n\n return React.createElement(\n \"div\",\n { className: dropdownClass },\n this.renderOptions()\n );\n };\n\n return YearDropdownOptions;\n}(React.Component);\n\nYearDropdownOptions.propTypes = {\n minDate: PropTypes.object,\n maxDate: PropTypes.object,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableYearDropdown: PropTypes.bool,\n year: PropTypes.number.isRequired,\n yearDropdownItemNumber: PropTypes.number\n};\n\nvar dayOfWeekCodes = {\n 1: \"mon\",\n 2: \"tue\",\n 3: \"wed\",\n 4: \"thu\",\n 5: \"fri\",\n 6: \"sat\",\n 7: \"sun\"\n};\n\n// These functions are not exported so\n// that we avoid magic strings like 'days'\nfunction set$1(date, unit, to) {\n return date.set(unit, to);\n}\n\nfunction add(date, amount, unit) {\n return date.add(amount, unit);\n}\n\nfunction subtract(date, amount, unit) {\n return date.subtract(amount, unit);\n}\n\nfunction get$1(date, unit) {\n return date.get(unit);\n}\n\nfunction getStartOf(date, unit) {\n return date.startOf(unit);\n}\n\n// ** Date Constructors **\n\nfunction newDate(point) {\n return moment(point);\n}\n\nfunction newDateWithOffset(utcOffset) {\n return moment().utc().utcOffset(utcOffset);\n}\n\nfunction now(maybeFixedUtcOffset) {\n if (maybeFixedUtcOffset == null) {\n return newDate();\n }\n return newDateWithOffset(maybeFixedUtcOffset);\n}\n\nfunction cloneDate(date) {\n return date.clone();\n}\n\nfunction parseDate(value, _ref) {\n var dateFormat = _ref.dateFormat,\n locale = _ref.locale;\n\n var m = moment(value, dateFormat, locale || moment.locale(), true);\n return m.isValid() ? m : null;\n}\n\n// ** Date \"Reflection\" **\n\nfunction isMoment(date) {\n return moment.isMoment(date);\n}\n\nfunction isDate(date) {\n return moment.isDate(date);\n}\n\n// ** Date Formatting **\n\nfunction formatDate(date, format) {\n return date.format(format);\n}\n\nfunction safeDateFormat(date, _ref2) {\n var dateFormat = _ref2.dateFormat,\n locale = _ref2.locale;\n\n return date && date.clone().locale(locale || moment.locale()).format(Array.isArray(dateFormat) ? dateFormat[0] : dateFormat) || \"\";\n}\n\n// ** Date Setters **\n\nfunction setTime(date, _ref3) {\n var hour = _ref3.hour,\n minute = _ref3.minute,\n second = _ref3.second;\n\n date.set({ hour: hour, minute: minute, second: second });\n return date;\n}\n\nfunction setMonth(date, month) {\n return set$1(date, \"month\", month);\n}\n\nfunction setYear(date, year) {\n return set$1(date, \"year\", year);\n}\n\n\n\n// ** Date Getters **\n\nfunction getSecond(date) {\n return get$1(date, \"second\");\n}\n\nfunction getMinute(date) {\n return get$1(date, \"minute\");\n}\n\nfunction getHour(date) {\n return get$1(date, \"hour\");\n}\n\n// Returns day of week\nfunction getDay(date) {\n return get$1(date, \"day\");\n}\n\nfunction getWeek(date) {\n return get$1(date, \"week\");\n}\n\nfunction getMonth(date) {\n return get$1(date, \"month\");\n}\n\nfunction getYear(date) {\n return get$1(date, \"year\");\n}\n\n// Returns day of month\nfunction getDate(date) {\n return get$1(date, \"date\");\n}\n\n\n\nfunction getDayOfWeekCode(day) {\n return dayOfWeekCodes[day.isoWeekday()];\n}\n\n// *** Start of ***\n\nfunction getStartOfDay(date) {\n return getStartOf(date, \"day\");\n}\n\nfunction getStartOfWeek(date) {\n return getStartOf(date, \"week\");\n}\nfunction getStartOfMonth(date) {\n return getStartOf(date, \"month\");\n}\n\nfunction getStartOfDate(date) {\n return getStartOf(date, \"date\");\n}\n\n// *** End of ***\n\n\n\n\n\n// ** Date Math **\n\n// *** Addition ***\n\nfunction addMinutes(date, amount) {\n return add(date, amount, \"minutes\");\n}\n\nfunction addHours(date, amount) {\n return add(date, amount, \"hours\");\n}\n\nfunction addDays(date, amount) {\n return add(date, amount, \"days\");\n}\n\nfunction addWeeks(date, amount) {\n return add(date, amount, \"weeks\");\n}\n\nfunction addMonths(date, amount) {\n return add(date, amount, \"months\");\n}\n\nfunction addYears(date, amount) {\n return add(date, amount, \"years\");\n}\n\n// *** Subtraction ***\nfunction subtractDays(date, amount) {\n return subtract(date, amount, \"days\");\n}\n\nfunction subtractWeeks(date, amount) {\n return subtract(date, amount, \"weeks\");\n}\n\nfunction subtractMonths(date, amount) {\n return subtract(date, amount, \"months\");\n}\n\nfunction subtractYears(date, amount) {\n return subtract(date, amount, \"years\");\n}\n\n// ** Date Comparison **\n\nfunction isBefore(date1, date2) {\n return date1.isBefore(date2);\n}\n\nfunction isAfter(date1, date2) {\n return date1.isAfter(date2);\n}\n\nfunction equals(date1, date2) {\n return date1.isSame(date2);\n}\n\nfunction isSameYear(date1, date2) {\n if (date1 && date2) {\n return date1.isSame(date2, \"year\");\n } else {\n return !date1 && !date2;\n }\n}\n\nfunction isSameMonth(date1, date2) {\n if (date1 && date2) {\n return date1.isSame(date2, \"month\");\n } else {\n return !date1 && !date2;\n }\n}\n\nfunction isSameDay(moment1, moment2) {\n if (moment1 && moment2) {\n return moment1.isSame(moment2, \"day\");\n } else {\n return !moment1 && !moment2;\n }\n}\n\n\n\nfunction isDayInRange(day, startDate, endDate) {\n var before = startDate.clone().startOf(\"day\").subtract(1, \"seconds\");\n var after = endDate.clone().startOf(\"day\").add(1, \"seconds\");\n return day.clone().startOf(\"day\").isBetween(before, after);\n}\n\n// *** Diffing ***\n\n\n\n// ** Date Localization **\n\nfunction localizeDate(date, locale) {\n return date.clone().locale(locale || moment.locale());\n}\n\n\n\n\n\n\n\nfunction getLocaleData(date) {\n return date.localeData();\n}\n\nfunction getLocaleDataForLocale(locale) {\n return moment.localeData(locale);\n}\n\nfunction getFormattedWeekdayInLocale(locale, date, formatFunc) {\n return formatFunc(locale.weekdays(date));\n}\n\nfunction getWeekdayMinInLocale(locale, date) {\n return locale.weekdaysMin(date);\n}\n\nfunction getWeekdayShortInLocale(locale, date) {\n return locale.weekdaysShort(date);\n}\n\n// TODO what is this format exactly?\nfunction getMonthInLocale(locale, date, format) {\n return locale.months(date, format);\n}\n\nfunction getMonthShortInLocale(locale, date) {\n return locale.monthsShort(date);\n}\n\n// ** Utils for some components **\n\nfunction isDayDisabled(day) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n minDate = _ref4.minDate,\n maxDate = _ref4.maxDate,\n excludeDates = _ref4.excludeDates,\n includeDates = _ref4.includeDates,\n filterDate = _ref4.filterDate;\n\n return minDate && day.isBefore(minDate, \"day\") || maxDate && day.isAfter(maxDate, \"day\") || excludeDates && excludeDates.some(function (excludeDate) {\n return isSameDay(day, excludeDate);\n }) || includeDates && !includeDates.some(function (includeDate) {\n return isSameDay(day, includeDate);\n }) || filterDate && !filterDate(day.clone()) || false;\n}\n\nfunction isOutOfBounds(day) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n minDate = _ref5.minDate,\n maxDate = _ref5.maxDate;\n\n return minDate && day.isBefore(minDate, \"day\") || maxDate && day.isAfter(maxDate, \"day\");\n}\n\nfunction isTimeDisabled(time, disabledTimes) {\n var l = disabledTimes.length;\n for (var i = 0; i < l; i++) {\n if (disabledTimes[i].get(\"hours\") === time.get(\"hours\") && disabledTimes[i].get(\"minutes\") === time.get(\"minutes\")) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction isTimeInDisabledRange(time, _ref6) {\n var minTime = _ref6.minTime,\n maxTime = _ref6.maxTime;\n\n if (!minTime || !maxTime) {\n throw new Error(\"Both minTime and maxTime props required\");\n }\n\n var base = moment().hours(0).minutes(0).seconds(0);\n var baseTime = base.clone().hours(time.get(\"hours\")).minutes(time.get(\"minutes\"));\n var min = base.clone().hours(minTime.get(\"hours\")).minutes(minTime.get(\"minutes\"));\n var max = base.clone().hours(maxTime.get(\"hours\")).minutes(maxTime.get(\"minutes\"));\n\n return !(baseTime.isSameOrAfter(min) && baseTime.isSameOrBefore(max));\n}\n\nfunction allDaysDisabledBefore(day, unit) {\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n minDate = _ref7.minDate,\n includeDates = _ref7.includeDates;\n\n var dateBefore = day.clone().subtract(1, unit);\n return minDate && dateBefore.isBefore(minDate, unit) || includeDates && includeDates.every(function (includeDate) {\n return dateBefore.isBefore(includeDate, unit);\n }) || false;\n}\n\nfunction allDaysDisabledAfter(day, unit) {\n var _ref8 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n maxDate = _ref8.maxDate,\n includeDates = _ref8.includeDates;\n\n var dateAfter = day.clone().add(1, unit);\n return maxDate && dateAfter.isAfter(maxDate, unit) || includeDates && includeDates.every(function (includeDate) {\n return dateAfter.isAfter(includeDate, unit);\n }) || false;\n}\n\nfunction getEffectiveMinDate(_ref9) {\n var minDate = _ref9.minDate,\n includeDates = _ref9.includeDates;\n\n if (includeDates && minDate) {\n return moment.min(includeDates.filter(function (includeDate) {\n return minDate.isSameOrBefore(includeDate, \"day\");\n }));\n } else if (includeDates) {\n return moment.min(includeDates);\n } else {\n return minDate;\n }\n}\n\nfunction getEffectiveMaxDate(_ref10) {\n var maxDate = _ref10.maxDate,\n includeDates = _ref10.includeDates;\n\n if (includeDates && maxDate) {\n return moment.max(includeDates.filter(function (includeDate) {\n return maxDate.isSameOrAfter(includeDate, \"day\");\n }));\n } else if (includeDates) {\n return moment.max(includeDates);\n } else {\n return maxDate;\n }\n}\n\nfunction getHightLightDaysMap() {\n var highlightDates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var defaultClassName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"react-datepicker__day--highlighted\";\n\n var dateClasses = new Map();\n for (var i = 0, len = highlightDates.length; i < len; i++) {\n var obj = highlightDates[i];\n if (isMoment(obj)) {\n var key = obj.format(\"MM.DD.YYYY\");\n var classNamesArr = dateClasses.get(key) || [];\n if (!classNamesArr.includes(defaultClassName)) {\n classNamesArr.push(defaultClassName);\n dateClasses.set(key, classNamesArr);\n }\n } else if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\") {\n var keys = Object.keys(obj);\n var className = keys[0];\n var arrOfMoments = obj[keys[0]];\n if (typeof className === \"string\" && arrOfMoments.constructor === Array) {\n for (var k = 0, _len = arrOfMoments.length; k < _len; k++) {\n var _key = arrOfMoments[k].format(\"MM.DD.YYYY\");\n var _classNamesArr = dateClasses.get(_key) || [];\n if (!_classNamesArr.includes(className)) {\n _classNamesArr.push(className);\n dateClasses.set(_key, _classNamesArr);\n }\n }\n }\n }\n }\n\n return dateClasses;\n}\n\nfunction timesToInjectAfter(startOfDay, currentTime, currentMultiplier, intervals, injectedTimes) {\n var l = injectedTimes.length;\n var times = [];\n for (var i = 0; i < l; i++) {\n var injectedTime = addMinutes(addHours(cloneDate(startOfDay), getHour(injectedTimes[i])), getMinute(injectedTimes[i]));\n var nextTime = addMinutes(cloneDate(startOfDay), (currentMultiplier + 1) * intervals);\n\n if (injectedTime.isBetween(currentTime, nextTime)) {\n times.push(injectedTimes[i]);\n }\n }\n\n return times;\n}\n\nvar WrappedYearDropdownOptions = onClickOutside(YearDropdownOptions);\n\nvar YearDropdown = function (_React$Component) {\n inherits(YearDropdown, _React$Component);\n\n function YearDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, YearDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function () {\n var minYear = _this.props.minDate ? getYear(_this.props.minDate) : 1900;\n var maxYear = _this.props.maxDate ? getYear(_this.props.maxDate) : 2100;\n\n var options = [];\n for (var i = minYear; i <= maxYear; i++) {\n options.push(React.createElement(\n \"option\",\n { key: i, value: i },\n i\n ));\n }\n return options;\n }, _this.onSelectChange = function (e) {\n _this.onChange(e.target.value);\n }, _this.renderSelectMode = function () {\n return React.createElement(\n \"select\",\n {\n value: _this.props.year,\n className: \"react-datepicker__year-select\",\n onChange: _this.onSelectChange\n },\n _this.renderSelectOptions()\n );\n }, _this.renderReadView = function (visible) {\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__year-read-view\",\n onClick: function onClick(event) {\n return _this.toggleDropdown(event);\n }\n },\n React.createElement(\"span\", { className: \"react-datepicker__year-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__year-read-view--selected-year\" },\n _this.props.year\n )\n );\n }, _this.renderDropdown = function () {\n return React.createElement(WrappedYearDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n year: _this.props.year,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber\n });\n }, _this.renderScrollMode = function () {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown());\n }\n return result;\n }, _this.onChange = function (year) {\n _this.toggleDropdown();\n if (year === _this.props.year) return;\n _this.props.onChange(year);\n }, _this.toggleDropdown = function (event) {\n _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n }, function () {\n if (_this.props.adjustDateOnChange) {\n _this.handleYearChange(_this.props.date, event);\n }\n });\n }, _this.handleYearChange = function (date, event) {\n _this.onSelect(date, event);\n _this.setOpen();\n }, _this.onSelect = function (date, event) {\n if (_this.props.onSelect) {\n _this.props.onSelect(date, event);\n }\n }, _this.setOpen = function () {\n if (_this.props.setOpen) {\n _this.props.setOpen(true);\n }\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n YearDropdown.prototype.render = function render() {\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode();\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode();\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-dropdown-container react-datepicker__year-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return YearDropdown;\n}(React.Component);\n\nYearDropdown.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n scrollableYearDropdown: PropTypes.bool,\n year: PropTypes.number.isRequired,\n yearDropdownItemNumber: PropTypes.number,\n date: PropTypes.object,\n onSelect: PropTypes.func,\n setOpen: PropTypes.func\n};\n\nvar MonthDropdownOptions = function (_React$Component) {\n inherits(MonthDropdownOptions, _React$Component);\n\n function MonthDropdownOptions() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthDropdownOptions);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderOptions = function () {\n return _this.props.monthNames.map(function (month, i) {\n return React.createElement(\n \"div\",\n {\n className: _this.props.month === i ? \"react-datepicker__month-option --selected_month\" : \"react-datepicker__month-option\",\n key: month,\n ref: month,\n onClick: _this.onChange.bind(_this, i)\n },\n _this.props.month === i ? React.createElement(\n \"span\",\n { className: \"react-datepicker__month-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n month\n );\n });\n }, _this.onChange = function (month) {\n return _this.props.onChange(month);\n }, _this.handleClickOutside = function () {\n return _this.props.onCancel();\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthDropdownOptions.prototype.render = function render() {\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__month-dropdown\" },\n this.renderOptions()\n );\n };\n\n return MonthDropdownOptions;\n}(React.Component);\n\nMonthDropdownOptions.propTypes = {\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n month: PropTypes.number.isRequired,\n monthNames: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired\n};\n\nvar WrappedMonthDropdownOptions = onClickOutside(MonthDropdownOptions);\n\nvar MonthDropdown = function (_React$Component) {\n inherits(MonthDropdown, _React$Component);\n\n function MonthDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function (monthNames) {\n return monthNames.map(function (M, i) {\n return React.createElement(\n \"option\",\n { key: i, value: i },\n M\n );\n });\n }, _this.renderSelectMode = function (monthNames) {\n return React.createElement(\n \"select\",\n {\n value: _this.props.month,\n className: \"react-datepicker__month-select\",\n onChange: function onChange(e) {\n return _this.onChange(e.target.value);\n }\n },\n _this.renderSelectOptions(monthNames)\n );\n }, _this.renderReadView = function (visible, monthNames) {\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__month-read-view\",\n onClick: _this.toggleDropdown\n },\n React.createElement(\"span\", { className: \"react-datepicker__month-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__month-read-view--selected-month\" },\n monthNames[_this.props.month]\n )\n );\n }, _this.renderDropdown = function (monthNames) {\n return React.createElement(WrappedMonthDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n month: _this.props.month,\n monthNames: monthNames,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown\n });\n }, _this.renderScrollMode = function (monthNames) {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible, monthNames)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown(monthNames));\n }\n return result;\n }, _this.onChange = function (month) {\n _this.toggleDropdown();\n if (month !== _this.props.month) {\n _this.props.onChange(month);\n }\n }, _this.toggleDropdown = function () {\n return _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthDropdown.prototype.render = function render() {\n var _this2 = this;\n\n var localeData = getLocaleDataForLocale(this.props.locale);\n var monthNames = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(this.props.useShortMonthInDropdown ? function (M) {\n return getMonthShortInLocale(localeData, newDate({ M: M }));\n } : function (M) {\n return getMonthInLocale(localeData, newDate({ M: M }), _this2.props.dateFormat);\n });\n\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode(monthNames);\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode(monthNames);\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__month-dropdown-container react-datepicker__month-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return MonthDropdown;\n}(React.Component);\n\nMonthDropdown.propTypes = {\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n locale: PropTypes.string,\n dateFormat: PropTypes.string.isRequired,\n month: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\n useShortMonthInDropdown: PropTypes.bool\n};\n\nfunction generateMonthYears(minDate, maxDate) {\n var list = [];\n\n var currDate = getStartOfMonth(cloneDate(minDate));\n var lastDate = getStartOfMonth(cloneDate(maxDate));\n\n while (!isAfter(currDate, lastDate)) {\n list.push(cloneDate(currDate));\n\n addMonths(currDate, 1);\n }\n\n return list;\n}\n\nvar MonthYearDropdownOptions = function (_React$Component) {\n inherits(MonthYearDropdownOptions, _React$Component);\n\n function MonthYearDropdownOptions(props) {\n classCallCheck(this, MonthYearDropdownOptions);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.renderOptions = function () {\n return _this.state.monthYearsList.map(function (monthYear) {\n var monthYearPoint = monthYear.valueOf();\n\n var isSameMonthYear = isSameYear(_this.props.date, monthYear) && isSameMonth(_this.props.date, monthYear);\n\n return React.createElement(\n \"div\",\n {\n className: isSameMonthYear ? \"react-datepicker__month-year-option --selected_month-year\" : \"react-datepicker__month-year-option\",\n key: monthYearPoint,\n ref: monthYearPoint,\n onClick: _this.onChange.bind(_this, monthYearPoint)\n },\n isSameMonthYear ? React.createElement(\n \"span\",\n { className: \"react-datepicker__month-year-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n formatDate(monthYear, _this.props.dateFormat)\n );\n });\n };\n\n _this.onChange = function (monthYear) {\n return _this.props.onChange(monthYear);\n };\n\n _this.handleClickOutside = function () {\n _this.props.onCancel();\n };\n\n _this.state = {\n monthYearsList: generateMonthYears(_this.props.minDate, _this.props.maxDate)\n };\n return _this;\n }\n\n MonthYearDropdownOptions.prototype.render = function render() {\n var dropdownClass = classnames({\n \"react-datepicker__month-year-dropdown\": true,\n \"react-datepicker__month-year-dropdown--scrollable\": this.props.scrollableMonthYearDropdown\n });\n\n return React.createElement(\n \"div\",\n { className: dropdownClass },\n this.renderOptions()\n );\n };\n\n return MonthYearDropdownOptions;\n}(React.Component);\n\nMonthYearDropdownOptions.propTypes = {\n minDate: PropTypes.object.isRequired,\n maxDate: PropTypes.object.isRequired,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableMonthYearDropdown: PropTypes.bool,\n date: PropTypes.object.isRequired,\n dateFormat: PropTypes.string.isRequired\n};\n\nvar WrappedMonthYearDropdownOptions = onClickOutside(MonthYearDropdownOptions);\n\nvar MonthYearDropdown = function (_React$Component) {\n inherits(MonthYearDropdown, _React$Component);\n\n function MonthYearDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthYearDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function () {\n var currDate = getStartOfMonth(localizeDate(_this.props.minDate, _this.props.locale));\n var lastDate = getStartOfMonth(localizeDate(_this.props.maxDate, _this.props.locale));\n\n var options = [];\n\n while (!isAfter(currDate, lastDate)) {\n var timepoint = currDate.valueOf();\n options.push(React.createElement(\n \"option\",\n { key: timepoint, value: timepoint },\n formatDate(currDate, _this.props.dateFormat)\n ));\n\n addMonths(currDate, 1);\n }\n\n return options;\n }, _this.onSelectChange = function (e) {\n _this.onChange(e.target.value);\n }, _this.renderSelectMode = function () {\n return React.createElement(\n \"select\",\n {\n value: getStartOfMonth(_this.props.date).valueOf(),\n className: \"react-datepicker__month-year-select\",\n onChange: _this.onSelectChange\n },\n _this.renderSelectOptions()\n );\n }, _this.renderReadView = function (visible) {\n var yearMonth = formatDate(localizeDate(newDate(_this.props.date), _this.props.locale), _this.props.dateFormat);\n\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__month-year-read-view\",\n onClick: function onClick(event) {\n return _this.toggleDropdown(event);\n }\n },\n React.createElement(\"span\", { className: \"react-datepicker__month-year-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__month-year-read-view--selected-month-year\" },\n yearMonth\n )\n );\n }, _this.renderDropdown = function () {\n return React.createElement(WrappedMonthYearDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n date: _this.props.date,\n dateFormat: _this.props.dateFormat,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown,\n minDate: localizeDate(_this.props.minDate, _this.props.locale),\n maxDate: localizeDate(_this.props.maxDate, _this.props.locale),\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown\n });\n }, _this.renderScrollMode = function () {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown());\n }\n return result;\n }, _this.onChange = function (monthYearPoint) {\n _this.toggleDropdown();\n\n var changedDate = newDate(parseInt(monthYearPoint));\n\n if (isSameYear(_this.props.date, changedDate) && isSameMonth(_this.props.date, changedDate)) {\n return;\n }\n\n _this.props.onChange(changedDate);\n }, _this.toggleDropdown = function () {\n return _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthYearDropdown.prototype.render = function render() {\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode();\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode();\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__month-year-dropdown-container react-datepicker__month-year-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return MonthYearDropdown;\n}(React.Component);\n\nMonthYearDropdown.propTypes = {\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n dateFormat: PropTypes.string.isRequired,\n locale: PropTypes.string,\n maxDate: PropTypes.object.isRequired,\n minDate: PropTypes.object.isRequired,\n date: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableMonthYearDropdown: PropTypes.bool\n};\n\nvar Day = function (_React$Component) {\n inherits(Day, _React$Component);\n\n function Day() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Day);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (!_this.isDisabled() && _this.props.onClick) {\n _this.props.onClick(event);\n }\n }, _this.handleMouseEnter = function (event) {\n if (!_this.isDisabled() && _this.props.onMouseEnter) {\n _this.props.onMouseEnter(event);\n }\n }, _this.isSameDay = function (other) {\n return isSameDay(_this.props.day, other);\n }, _this.isKeyboardSelected = function () {\n return !_this.props.disabledKeyboardNavigation && !_this.props.inline && !_this.isSameDay(_this.props.selected) && _this.isSameDay(_this.props.preSelection);\n }, _this.isDisabled = function () {\n return isDayDisabled(_this.props.day, _this.props);\n }, _this.getHighLightedClass = function (defaultClassName) {\n var _this$props = _this.props,\n day = _this$props.day,\n highlightDates = _this$props.highlightDates;\n\n\n if (!highlightDates) {\n return false;\n }\n\n // Looking for className in the Map of {'day string, 'className'}\n var dayStr = day.format(\"MM.DD.YYYY\");\n return highlightDates.get(dayStr);\n }, _this.isInRange = function () {\n var _this$props2 = _this.props,\n day = _this$props2.day,\n startDate = _this$props2.startDate,\n endDate = _this$props2.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isDayInRange(day, startDate, endDate);\n }, _this.isInSelectingRange = function () {\n var _this$props3 = _this.props,\n day = _this$props3.day,\n selectsStart = _this$props3.selectsStart,\n selectsEnd = _this$props3.selectsEnd,\n selectingDate = _this$props3.selectingDate,\n startDate = _this$props3.startDate,\n endDate = _this$props3.endDate;\n\n\n if (!(selectsStart || selectsEnd) || !selectingDate || _this.isDisabled()) {\n return false;\n }\n\n if (selectsStart && endDate && selectingDate.isSameOrBefore(endDate)) {\n return isDayInRange(day, selectingDate, endDate);\n }\n\n if (selectsEnd && startDate && selectingDate.isSameOrAfter(startDate)) {\n return isDayInRange(day, startDate, selectingDate);\n }\n\n return false;\n }, _this.isSelectingRangeStart = function () {\n if (!_this.isInSelectingRange()) {\n return false;\n }\n\n var _this$props4 = _this.props,\n day = _this$props4.day,\n selectingDate = _this$props4.selectingDate,\n startDate = _this$props4.startDate,\n selectsStart = _this$props4.selectsStart;\n\n\n if (selectsStart) {\n return isSameDay(day, selectingDate);\n } else {\n return isSameDay(day, startDate);\n }\n }, _this.isSelectingRangeEnd = function () {\n if (!_this.isInSelectingRange()) {\n return false;\n }\n\n var _this$props5 = _this.props,\n day = _this$props5.day,\n selectingDate = _this$props5.selectingDate,\n endDate = _this$props5.endDate,\n selectsEnd = _this$props5.selectsEnd;\n\n\n if (selectsEnd) {\n return isSameDay(day, selectingDate);\n } else {\n return isSameDay(day, endDate);\n }\n }, _this.isRangeStart = function () {\n var _this$props6 = _this.props,\n day = _this$props6.day,\n startDate = _this$props6.startDate,\n endDate = _this$props6.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isSameDay(startDate, day);\n }, _this.isRangeEnd = function () {\n var _this$props7 = _this.props,\n day = _this$props7.day,\n startDate = _this$props7.startDate,\n endDate = _this$props7.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isSameDay(endDate, day);\n }, _this.isWeekend = function () {\n var weekday = getDay(_this.props.day);\n return weekday === 0 || weekday === 6;\n }, _this.isOutsideMonth = function () {\n return _this.props.month !== undefined && _this.props.month !== getMonth(_this.props.day);\n }, _this.getClassNames = function (date) {\n var dayClassName = _this.props.dayClassName ? _this.props.dayClassName(date) : undefined;\n return classnames(\"react-datepicker__day\", dayClassName, \"react-datepicker__day--\" + getDayOfWeekCode(_this.props.day), {\n \"react-datepicker__day--disabled\": _this.isDisabled(),\n \"react-datepicker__day--selected\": _this.isSameDay(_this.props.selected),\n \"react-datepicker__day--keyboard-selected\": _this.isKeyboardSelected(),\n \"react-datepicker__day--range-start\": _this.isRangeStart(),\n \"react-datepicker__day--range-end\": _this.isRangeEnd(),\n \"react-datepicker__day--in-range\": _this.isInRange(),\n \"react-datepicker__day--in-selecting-range\": _this.isInSelectingRange(),\n \"react-datepicker__day--selecting-range-start\": _this.isSelectingRangeStart(),\n \"react-datepicker__day--selecting-range-end\": _this.isSelectingRangeEnd(),\n \"react-datepicker__day--today\": _this.isSameDay(now(_this.props.utcOffset)),\n \"react-datepicker__day--weekend\": _this.isWeekend(),\n \"react-datepicker__day--outside-month\": _this.isOutsideMonth()\n }, _this.getHighLightedClass(\"react-datepicker__day--highlighted\"));\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Day.prototype.render = function render() {\n return React.createElement(\n \"div\",\n {\n className: this.getClassNames(this.props.day),\n onClick: this.handleClick,\n onMouseEnter: this.handleMouseEnter,\n \"aria-label\": \"day-\" + getDate(this.props.day),\n role: \"option\"\n },\n this.props.renderDayContents ? this.props.renderDayContents(getDate(this.props.day)) : getDate(this.props.day)\n );\n };\n\n return Day;\n}(React.Component);\n\nDay.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n highlightDates: PropTypes.instanceOf(Map),\n inline: PropTypes.bool,\n month: PropTypes.number,\n onClick: PropTypes.func,\n onMouseEnter: PropTypes.func,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar WeekNumber = function (_React$Component) {\n inherits(WeekNumber, _React$Component);\n\n function WeekNumber() {\n var _temp, _this, _ret;\n\n classCallCheck(this, WeekNumber);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) {\n _this.props.onClick(event);\n }\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n WeekNumber.prototype.render = function render() {\n var weekNumberClasses = {\n \"react-datepicker__week-number\": true,\n \"react-datepicker__week-number--clickable\": !!this.props.onClick\n };\n return React.createElement(\n \"div\",\n {\n className: classnames(weekNumberClasses),\n \"aria-label\": \"week-\" + this.props.weekNumber,\n onClick: this.handleClick\n },\n this.props.weekNumber\n );\n };\n\n return WeekNumber;\n}(React.Component);\n\nWeekNumber.propTypes = {\n weekNumber: PropTypes.number.isRequired,\n onClick: PropTypes.func\n};\n\nvar Week = function (_React$Component) {\n inherits(Week, _React$Component);\n\n function Week() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Week);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleDayClick = function (day, event) {\n if (_this.props.onDayClick) {\n _this.props.onDayClick(day, event);\n }\n }, _this.handleDayMouseEnter = function (day) {\n if (_this.props.onDayMouseEnter) {\n _this.props.onDayMouseEnter(day);\n }\n }, _this.handleWeekClick = function (day, weekNumber, event) {\n if (typeof _this.props.onWeekSelect === \"function\") {\n _this.props.onWeekSelect(day, weekNumber, event);\n }\n }, _this.formatWeekNumber = function (startOfWeek) {\n if (_this.props.formatWeekNumber) {\n return _this.props.formatWeekNumber(startOfWeek);\n }\n return getWeek(startOfWeek);\n }, _this.renderDays = function () {\n var startOfWeek = getStartOfWeek(cloneDate(_this.props.day));\n var days = [];\n var weekNumber = _this.formatWeekNumber(startOfWeek);\n if (_this.props.showWeekNumber) {\n var onClickAction = _this.props.onWeekSelect ? _this.handleWeekClick.bind(_this, startOfWeek, weekNumber) : undefined;\n days.push(React.createElement(WeekNumber, { key: \"W\", weekNumber: weekNumber, onClick: onClickAction }));\n }\n return days.concat([0, 1, 2, 3, 4, 5, 6].map(function (offset) {\n var day = addDays(cloneDate(startOfWeek), offset);\n return React.createElement(Day, {\n key: offset,\n day: day,\n month: _this.props.month,\n onClick: _this.handleDayClick.bind(_this, day),\n onMouseEnter: _this.handleDayMouseEnter.bind(_this, day),\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.props.selectingDate,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n dayClassName: _this.props.dayClassName,\n utcOffset: _this.props.utcOffset,\n renderDayContents: _this.props.renderDayContents,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation\n });\n }));\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Week.prototype.render = function render() {\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__week\" },\n this.renderDays()\n );\n };\n\n return Week;\n}(React.Component);\n\nWeek.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n inline: PropTypes.bool,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n month: PropTypes.number,\n onDayClick: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onWeekSelect: PropTypes.func,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showWeekNumber: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar FIXED_HEIGHT_STANDARD_WEEK_COUNT = 6;\n\nvar Month = function (_React$Component) {\n inherits(Month, _React$Component);\n\n function Month() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Month);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleDayClick = function (day, event) {\n if (_this.props.onDayClick) {\n _this.props.onDayClick(day, event);\n }\n }, _this.handleDayMouseEnter = function (day) {\n if (_this.props.onDayMouseEnter) {\n _this.props.onDayMouseEnter(day);\n }\n }, _this.handleMouseLeave = function () {\n if (_this.props.onMouseLeave) {\n _this.props.onMouseLeave();\n }\n }, _this.isWeekInMonth = function (startOfWeek) {\n var day = _this.props.day;\n var endOfWeek = addDays(cloneDate(startOfWeek), 6);\n return isSameMonth(startOfWeek, day) || isSameMonth(endOfWeek, day);\n }, _this.renderWeeks = function () {\n var weeks = [];\n var isFixedHeight = _this.props.fixedHeight;\n var currentWeekStart = getStartOfWeek(getStartOfMonth(cloneDate(_this.props.day)));\n var i = 0;\n var breakAfterNextPush = false;\n\n while (true) {\n weeks.push(React.createElement(Week, {\n key: i,\n day: currentWeekStart,\n month: getMonth(_this.props.day),\n onDayClick: _this.handleDayClick,\n onDayMouseEnter: _this.handleDayMouseEnter,\n onWeekSelect: _this.props.onWeekSelect,\n formatWeekNumber: _this.props.formatWeekNumber,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.props.selectingDate,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n showWeekNumber: _this.props.showWeekNumbers,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n dayClassName: _this.props.dayClassName,\n utcOffset: _this.props.utcOffset,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation,\n renderDayContents: _this.props.renderDayContents\n }));\n\n if (breakAfterNextPush) break;\n\n i++;\n currentWeekStart = addWeeks(cloneDate(currentWeekStart), 1);\n\n // If one of these conditions is true, we will either break on this week\n // or break on the next week\n var isFixedAndFinalWeek = isFixedHeight && i >= FIXED_HEIGHT_STANDARD_WEEK_COUNT;\n var isNonFixedAndOutOfMonth = !isFixedHeight && !_this.isWeekInMonth(currentWeekStart);\n\n if (isFixedAndFinalWeek || isNonFixedAndOutOfMonth) {\n if (_this.props.peekNextMonth) {\n breakAfterNextPush = true;\n } else {\n break;\n }\n }\n }\n\n return weeks;\n }, _this.getClassNames = function () {\n var _this$props = _this.props,\n selectingDate = _this$props.selectingDate,\n selectsStart = _this$props.selectsStart,\n selectsEnd = _this$props.selectsEnd;\n\n return classnames(\"react-datepicker__month\", {\n \"react-datepicker__month--selecting-range\": selectingDate && (selectsStart || selectsEnd)\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Month.prototype.render = function render() {\n return React.createElement(\n \"div\",\n {\n className: this.getClassNames(),\n onMouseLeave: this.handleMouseLeave,\n role: \"listbox\",\n \"aria-label\": \"month-\" + this.props.day.format(\"YYYY-MM\")\n },\n this.renderWeeks()\n );\n };\n\n return Month;\n}(React.Component);\n\nMonth.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n inline: PropTypes.bool,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n onDayClick: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onWeekSelect: PropTypes.func,\n peekNextMonth: PropTypes.bool,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar Time = function (_React$Component) {\n inherits(Time, _React$Component);\n\n function Time() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Time);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (time) {\n if ((_this.props.minTime || _this.props.maxTime) && isTimeInDisabledRange(time, _this.props) || _this.props.excludeTimes && isTimeDisabled(time, _this.props.excludeTimes) || _this.props.includeTimes && !isTimeDisabled(time, _this.props.includeTimes)) {\n return;\n }\n\n _this.props.onChange(time);\n }, _this.liClasses = function (time, currH, currM) {\n var classes = [\"react-datepicker__time-list-item\"];\n\n if (currH === getHour(time) && currM === getMinute(time)) {\n classes.push(\"react-datepicker__time-list-item--selected\");\n }\n if ((_this.props.minTime || _this.props.maxTime) && isTimeInDisabledRange(time, _this.props) || _this.props.excludeTimes && isTimeDisabled(time, _this.props.excludeTimes) || _this.props.includeTimes && !isTimeDisabled(time, _this.props.includeTimes)) {\n classes.push(\"react-datepicker__time-list-item--disabled\");\n }\n if (_this.props.injectTimes && (getHour(time) * 60 + getMinute(time)) % _this.props.intervals !== 0) {\n classes.push(\"react-datepicker__time-list-item--injected\");\n }\n\n return classes.join(\" \");\n }, _this.renderTimes = function () {\n var times = [];\n var format = _this.props.format ? _this.props.format : \"hh:mm A\";\n var intervals = _this.props.intervals;\n var activeTime = _this.props.selected ? _this.props.selected : newDate();\n var currH = getHour(activeTime);\n var currM = getMinute(activeTime);\n var base = getStartOfDay(newDate());\n var multiplier = 1440 / intervals;\n var sortedInjectTimes = _this.props.injectTimes && _this.props.injectTimes.sort(function (a, b) {\n return a - b;\n });\n for (var i = 0; i < multiplier; i++) {\n var currentTime = addMinutes(cloneDate(base), i * intervals);\n times.push(currentTime);\n\n if (sortedInjectTimes) {\n var timesToInject = timesToInjectAfter(base, currentTime, i, intervals, sortedInjectTimes);\n times = times.concat(timesToInject);\n }\n }\n\n return times.map(function (time, i) {\n return React.createElement(\n \"li\",\n {\n key: i,\n onClick: _this.handleClick.bind(_this, time),\n className: _this.liClasses(time, currH, currM),\n ref: function ref(li) {\n if (currH === getHour(time) && currM === getMinute(time) || currH === getHour(time) && !_this.centerLi) {\n _this.centerLi = li;\n }\n }\n },\n formatDate(time, format)\n );\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Time.prototype.componentDidMount = function componentDidMount() {\n // code to ensure selected time will always be in focus within time window when it first appears\n this.list.scrollTop = Time.calcCenterPosition(this.props.monthRef ? this.props.monthRef.clientHeight - this.header.clientHeight : this.list.clientHeight, this.centerLi);\n };\n\n Time.prototype.render = function render() {\n var _this2 = this;\n\n var height = null;\n if (this.props.monthRef && this.header) {\n height = this.props.monthRef.clientHeight - this.header.clientHeight;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__time-container \" + (this.props.todayButton ? \"react-datepicker__time-container--with-today-button\" : \"\")\n },\n React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header react-datepicker__header--time\",\n ref: function ref(header) {\n _this2.header = header;\n }\n },\n React.createElement(\n \"div\",\n { className: \"react-datepicker-time__header\" },\n this.props.timeCaption\n )\n ),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__time\" },\n React.createElement(\n \"div\",\n { className: \"react-datepicker__time-box\" },\n React.createElement(\n \"ul\",\n {\n className: \"react-datepicker__time-list\",\n ref: function ref(list) {\n _this2.list = list;\n },\n style: height ? { height: height } : {}\n },\n this.renderTimes.bind(this)()\n )\n )\n )\n );\n };\n\n createClass(Time, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n intervals: 30,\n onTimeChange: function onTimeChange() {},\n todayButton: null,\n timeCaption: \"Time\"\n };\n }\n }]);\n return Time;\n}(React.Component);\n\nTime.propTypes = {\n format: PropTypes.string,\n includeTimes: PropTypes.array,\n intervals: PropTypes.number,\n selected: PropTypes.object,\n onChange: PropTypes.func,\n todayButton: PropTypes.node,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n monthRef: PropTypes.object,\n timeCaption: PropTypes.string,\n injectTimes: PropTypes.array\n};\n\nTime.calcCenterPosition = function (listHeight, centerLiRef) {\n return centerLiRef.offsetTop - (listHeight / 2 - centerLiRef.clientHeight / 2);\n};\n\nfunction CalendarContainer(_ref) {\n var className = _ref.className,\n children = _ref.children,\n _ref$arrowProps = _ref.arrowProps,\n arrowProps = _ref$arrowProps === undefined ? {} : _ref$arrowProps;\n\n return React.createElement(\n \"div\",\n { className: className },\n React.createElement(\"div\", _extends({ className: \"react-datepicker__triangle\" }, arrowProps)),\n children\n );\n}\n\nCalendarContainer.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node,\n arrowProps: PropTypes.object // react-popper arrow props\n};\n\nvar DROPDOWN_FOCUS_CLASSNAMES = [\"react-datepicker__year-select\", \"react-datepicker__month-select\", \"react-datepicker__month-year-select\"];\n\nvar isDropdownSelect = function isDropdownSelect() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var classNames = (element.className || \"\").split(/\\s+/);\n return DROPDOWN_FOCUS_CLASSNAMES.some(function (testClassname) {\n return classNames.indexOf(testClassname) >= 0;\n });\n};\n\nvar Calendar = function (_React$Component) {\n inherits(Calendar, _React$Component);\n createClass(Calendar, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n onDropdownFocus: function onDropdownFocus() {},\n monthsShown: 1,\n forceShowMonthNavigation: false,\n timeCaption: \"Time\",\n previousMonthButtonLabel: \"Previous Month\",\n nextMonthButtonLabel: \"Next Month\"\n };\n }\n }]);\n\n function Calendar(props) {\n classCallCheck(this, Calendar);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.handleClickOutside = function (event) {\n _this.props.onClickOutside(event);\n };\n\n _this.handleDropdownFocus = function (event) {\n if (isDropdownSelect(event.target)) {\n _this.props.onDropdownFocus();\n }\n };\n\n _this.getDateInView = function () {\n var _this$props = _this.props,\n preSelection = _this$props.preSelection,\n selected = _this$props.selected,\n openToDate = _this$props.openToDate,\n utcOffset = _this$props.utcOffset;\n\n var minDate = getEffectiveMinDate(_this.props);\n var maxDate = getEffectiveMaxDate(_this.props);\n var current = now(utcOffset);\n var initialDate = openToDate || selected || preSelection;\n if (initialDate) {\n return initialDate;\n } else {\n if (minDate && isBefore(current, minDate)) {\n return minDate;\n } else if (maxDate && isAfter(current, maxDate)) {\n return maxDate;\n }\n }\n return current;\n };\n\n _this.localizeDate = function (date) {\n return localizeDate(date, _this.props.locale);\n };\n\n _this.increaseMonth = function () {\n _this.setState({\n date: addMonths(cloneDate(_this.state.date), 1)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.decreaseMonth = function () {\n _this.setState({\n date: subtractMonths(cloneDate(_this.state.date), 1)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.handleDayClick = function (day, event) {\n return _this.props.onSelect(day, event);\n };\n\n _this.handleDayMouseEnter = function (day) {\n return _this.setState({ selectingDate: day });\n };\n\n _this.handleMonthMouseLeave = function () {\n return _this.setState({ selectingDate: null });\n };\n\n _this.handleYearChange = function (date) {\n if (_this.props.onYearChange) {\n _this.props.onYearChange(date);\n }\n };\n\n _this.handleMonthChange = function (date) {\n if (_this.props.onMonthChange) {\n _this.props.onMonthChange(date);\n }\n if (_this.props.adjustDateOnChange) {\n if (_this.props.onSelect) {\n _this.props.onSelect(date);\n }\n if (_this.props.setOpen) {\n _this.props.setOpen(true);\n }\n }\n };\n\n _this.handleMonthYearChange = function (date) {\n _this.handleYearChange(date);\n _this.handleMonthChange(date);\n };\n\n _this.changeYear = function (year) {\n _this.setState({\n date: setYear(cloneDate(_this.state.date), year)\n }, function () {\n return _this.handleYearChange(_this.state.date);\n });\n };\n\n _this.changeMonth = function (month) {\n _this.setState({\n date: setMonth(cloneDate(_this.state.date), month)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.changeMonthYear = function (monthYear) {\n _this.setState({\n date: setYear(setMonth(cloneDate(_this.state.date), getMonth(monthYear)), getYear(monthYear))\n }, function () {\n return _this.handleMonthYearChange(_this.state.date);\n });\n };\n\n _this.header = function () {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.date;\n\n var startOfWeek = getStartOfWeek(cloneDate(date));\n var dayNames = [];\n if (_this.props.showWeekNumbers) {\n dayNames.push(React.createElement(\n \"div\",\n { key: \"W\", className: \"react-datepicker__day-name\" },\n _this.props.weekLabel || \"#\"\n ));\n }\n return dayNames.concat([0, 1, 2, 3, 4, 5, 6].map(function (offset) {\n var day = addDays(cloneDate(startOfWeek), offset);\n var localeData = getLocaleData(day);\n var weekDayName = _this.formatWeekday(localeData, day);\n\n return React.createElement(\n \"div\",\n { key: offset, className: \"react-datepicker__day-name\" },\n weekDayName\n );\n }));\n };\n\n _this.formatWeekday = function (localeData, day) {\n if (_this.props.formatWeekDay) {\n return getFormattedWeekdayInLocale(localeData, day, _this.props.formatWeekDay);\n }\n return _this.props.useWeekdaysShort ? getWeekdayShortInLocale(localeData, day) : getWeekdayMinInLocale(localeData, day);\n };\n\n _this.renderPreviousMonthButton = function () {\n if (_this.props.renderCustomHeader) {\n return;\n }\n\n var allPrevDaysDisabled = allDaysDisabledBefore(_this.state.date, \"month\", _this.props);\n\n if (!_this.props.forceShowMonthNavigation && !_this.props.showDisabledMonthNavigation && allPrevDaysDisabled || _this.props.showTimeSelectOnly) {\n return;\n }\n\n var classes = [\"react-datepicker__navigation\", \"react-datepicker__navigation--previous\"];\n\n var clickHandler = _this.decreaseMonth;\n\n if (allPrevDaysDisabled && _this.props.showDisabledMonthNavigation) {\n classes.push(\"react-datepicker__navigation--previous--disabled\");\n clickHandler = null;\n }\n\n return React.createElement(\n \"button\",\n {\n type: \"button\",\n className: classes.join(\" \"),\n onClick: clickHandler\n },\n _this.props.previousMonthButtonLabel\n );\n };\n\n _this.renderNextMonthButton = function () {\n if (_this.props.renderCustomHeader) {\n return;\n }\n\n var allNextDaysDisabled = allDaysDisabledAfter(_this.state.date, \"month\", _this.props);\n\n if (!_this.props.forceShowMonthNavigation && !_this.props.showDisabledMonthNavigation && allNextDaysDisabled || _this.props.showTimeSelectOnly) {\n return;\n }\n\n var classes = [\"react-datepicker__navigation\", \"react-datepicker__navigation--next\"];\n if (_this.props.showTimeSelect) {\n classes.push(\"react-datepicker__navigation--next--with-time\");\n }\n if (_this.props.todayButton) {\n classes.push(\"react-datepicker__navigation--next--with-today-button\");\n }\n\n var clickHandler = _this.increaseMonth;\n\n if (allNextDaysDisabled && _this.props.showDisabledMonthNavigation) {\n classes.push(\"react-datepicker__navigation--next--disabled\");\n clickHandler = null;\n }\n\n return React.createElement(\n \"button\",\n {\n type: \"button\",\n className: classes.join(\" \"),\n onClick: clickHandler\n },\n _this.props.nextMonthButtonLabel\n );\n };\n\n _this.renderCurrentMonth = function () {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.date;\n\n var classes = [\"react-datepicker__current-month\"];\n\n if (_this.props.showYearDropdown) {\n classes.push(\"react-datepicker__current-month--hasYearDropdown\");\n }\n if (_this.props.showMonthDropdown) {\n classes.push(\"react-datepicker__current-month--hasMonthDropdown\");\n }\n if (_this.props.showMonthYearDropdown) {\n classes.push(\"react-datepicker__current-month--hasMonthYearDropdown\");\n }\n return React.createElement(\n \"div\",\n { className: classes.join(\" \") },\n formatDate(date, _this.props.dateFormat)\n );\n };\n\n _this.renderYearDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showYearDropdown || overrideHide) {\n return;\n }\n return React.createElement(YearDropdown, {\n adjustDateOnChange: _this.props.adjustDateOnChange,\n date: _this.state.date,\n onSelect: _this.props.onSelect,\n setOpen: _this.props.setOpen,\n dropdownMode: _this.props.dropdownMode,\n onChange: _this.changeYear,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n year: getYear(_this.state.date),\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber\n });\n };\n\n _this.renderMonthDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showMonthDropdown || overrideHide) {\n return;\n }\n return React.createElement(MonthDropdown, {\n dropdownMode: _this.props.dropdownMode,\n locale: _this.props.locale,\n dateFormat: _this.props.dateFormat,\n onChange: _this.changeMonth,\n month: getMonth(_this.state.date),\n useShortMonthInDropdown: _this.props.useShortMonthInDropdown\n });\n };\n\n _this.renderMonthYearDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showMonthYearDropdown || overrideHide) {\n return;\n }\n return React.createElement(MonthYearDropdown, {\n dropdownMode: _this.props.dropdownMode,\n locale: _this.props.locale,\n dateFormat: _this.props.dateFormat,\n onChange: _this.changeMonthYear,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n date: _this.state.date,\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown\n });\n };\n\n _this.renderTodayButton = function () {\n if (!_this.props.todayButton || _this.props.showTimeSelectOnly) {\n return;\n }\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__today-button\",\n onClick: function onClick(e) {\n return _this.props.onSelect(getStartOfDate(now(_this.props.utcOffset)), e);\n }\n },\n _this.props.todayButton\n );\n };\n\n _this.renderDefaultHeader = function (_ref) {\n var monthDate = _ref.monthDate,\n i = _ref.i;\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__header\" },\n _this.renderCurrentMonth(monthDate),\n React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header__dropdown react-datepicker__header__dropdown--\" + _this.props.dropdownMode,\n onFocus: _this.handleDropdownFocus\n },\n _this.renderMonthDropdown(i !== 0),\n _this.renderMonthYearDropdown(i !== 0),\n _this.renderYearDropdown(i !== 0)\n ),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__day-names\" },\n _this.header(monthDate)\n )\n );\n };\n\n _this.renderCustomHeader = function (_ref2) {\n var monthDate = _ref2.monthDate,\n i = _ref2.i;\n\n if (i !== 0) {\n return null;\n }\n\n var prevMonthButtonDisabled = allDaysDisabledBefore(_this.state.date, \"month\", _this.props);\n\n var nextMonthButtonDisabled = allDaysDisabledAfter(_this.state.date, \"month\", _this.props);\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header react-datepicker__header--custom\",\n onFocus: _this.props.onDropdownFocus\n },\n _this.props.renderCustomHeader(_extends({}, _this.state, {\n changeMonth: _this.changeMonth,\n changeYear: _this.changeYear,\n decreaseMonth: _this.decreaseMonth,\n increaseMonth: _this.increaseMonth,\n prevMonthButtonDisabled: prevMonthButtonDisabled,\n nextMonthButtonDisabled: nextMonthButtonDisabled\n })),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__day-names\" },\n _this.header(monthDate)\n )\n );\n };\n\n _this.renderMonths = function () {\n if (_this.props.showTimeSelectOnly) {\n return;\n }\n\n var monthList = [];\n for (var i = 0; i < _this.props.monthsShown; ++i) {\n var monthDate = addMonths(cloneDate(_this.state.date), i);\n var monthKey = \"month-\" + i;\n monthList.push(React.createElement(\n \"div\",\n {\n key: monthKey,\n ref: function ref(div) {\n _this.monthContainer = div;\n },\n className: \"react-datepicker__month-container\"\n },\n _this.props.renderCustomHeader ? _this.renderCustomHeader({ monthDate: monthDate, i: i }) : _this.renderDefaultHeader({ monthDate: monthDate, i: i }),\n React.createElement(Month, {\n day: monthDate,\n dayClassName: _this.props.dayClassName,\n onDayClick: _this.handleDayClick,\n onDayMouseEnter: _this.handleDayMouseEnter,\n onMouseLeave: _this.handleMonthMouseLeave,\n onWeekSelect: _this.props.onWeekSelect,\n formatWeekNumber: _this.props.formatWeekNumber,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.state.selectingDate,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n fixedHeight: _this.props.fixedHeight,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n showWeekNumbers: _this.props.showWeekNumbers,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n peekNextMonth: _this.props.peekNextMonth,\n utcOffset: _this.props.utcOffset,\n renderDayContents: _this.props.renderDayContents,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation\n })\n ));\n }\n return monthList;\n };\n\n _this.renderTimeSection = function () {\n if (_this.props.showTimeSelect && (_this.state.monthContainer || _this.props.showTimeSelectOnly)) {\n return React.createElement(Time, {\n selected: _this.props.selected,\n onChange: _this.props.onTimeChange,\n format: _this.props.timeFormat,\n includeTimes: _this.props.includeTimes,\n intervals: _this.props.timeIntervals,\n minTime: _this.props.minTime,\n maxTime: _this.props.maxTime,\n excludeTimes: _this.props.excludeTimes,\n timeCaption: _this.props.timeCaption,\n todayButton: _this.props.todayButton,\n showMonthDropdown: _this.props.showMonthDropdown,\n showMonthYearDropdown: _this.props.showMonthYearDropdown,\n showYearDropdown: _this.props.showYearDropdown,\n withPortal: _this.props.withPortal,\n monthRef: _this.state.monthContainer,\n injectTimes: _this.props.injectTimes\n });\n }\n };\n\n _this.state = {\n date: _this.localizeDate(_this.getDateInView()),\n selectingDate: null,\n monthContainer: null\n };\n return _this;\n }\n\n Calendar.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // monthContainer height is needed in time component\n // to determine the height for the ul in the time component\n // setState here so height is given after final component\n // layout is rendered\n if (this.props.showTimeSelect) {\n this.assignMonthContainer = function () {\n _this2.setState({ monthContainer: _this2.monthContainer });\n }();\n }\n };\n\n Calendar.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.preSelection && !isSameDay(this.props.preSelection, prevProps.preSelection)) {\n this.setState({\n date: this.localizeDate(this.props.preSelection)\n });\n } else if (this.props.openToDate && !isSameDay(this.props.openToDate, prevProps.openToDate)) {\n this.setState({\n date: this.localizeDate(this.props.openToDate)\n });\n }\n };\n\n Calendar.prototype.render = function render() {\n var Container = this.props.container || CalendarContainer;\n\n return React.createElement(\n Container,\n {\n className: classnames(\"react-datepicker\", this.props.className, {\n \"react-datepicker--time-only\": this.props.showTimeSelectOnly\n })\n },\n this.renderPreviousMonthButton(),\n this.renderNextMonthButton(),\n this.renderMonths(),\n this.renderTodayButton(),\n this.renderTimeSection(),\n this.props.children\n );\n };\n\n return Calendar;\n}(React.Component);\n\nCalendar.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n container: PropTypes.func,\n dateFormat: PropTypes.oneOfType([PropTypes.string, PropTypes.array]).isRequired,\n dayClassName: PropTypes.func,\n disabledKeyboardNavigation: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]),\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n includeTimes: PropTypes.array,\n injectTimes: PropTypes.array,\n inline: PropTypes.bool,\n locale: PropTypes.string,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n monthsShown: PropTypes.number,\n onClickOutside: PropTypes.func.isRequired,\n onMonthChange: PropTypes.func,\n onYearChange: PropTypes.func,\n forceShowMonthNavigation: PropTypes.bool,\n onDropdownFocus: PropTypes.func,\n onSelect: PropTypes.func.isRequired,\n onWeekSelect: PropTypes.func,\n showTimeSelect: PropTypes.bool,\n showTimeSelectOnly: PropTypes.bool,\n timeFormat: PropTypes.string,\n timeIntervals: PropTypes.number,\n onTimeChange: PropTypes.func,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n timeCaption: PropTypes.string,\n openToDate: PropTypes.object,\n peekNextMonth: PropTypes.bool,\n scrollableYearDropdown: PropTypes.bool,\n scrollableMonthYearDropdown: PropTypes.bool,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n showMonthYearDropdown: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n startDate: PropTypes.object,\n todayButton: PropTypes.node,\n useWeekdaysShort: PropTypes.bool,\n formatWeekDay: PropTypes.func,\n withPortal: PropTypes.bool,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n weekLabel: PropTypes.string,\n yearDropdownItemNumber: PropTypes.number,\n setOpen: PropTypes.func,\n useShortMonthInDropdown: PropTypes.bool,\n showDisabledMonthNavigation: PropTypes.bool,\n previousMonthButtonLabel: PropTypes.string,\n nextMonthButtonLabel: PropTypes.string,\n renderCustomHeader: PropTypes.func,\n renderDayContents: PropTypes.func\n};\n\nvar popperPlacementPositions = [\"bottom\", \"bottom-end\", \"bottom-start\", \"left\", \"left-end\", \"left-start\", \"right\", \"right-end\", \"right-start\", \"top\", \"top-end\", \"top-start\"];\n\nvar PopperComponent = function (_React$Component) {\n inherits(PopperComponent, _React$Component);\n\n function PopperComponent() {\n classCallCheck(this, PopperComponent);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n PopperComponent.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n hidePopper = _props.hidePopper,\n popperComponent = _props.popperComponent,\n popperModifiers = _props.popperModifiers,\n popperPlacement = _props.popperPlacement,\n popperProps = _props.popperProps,\n targetComponent = _props.targetComponent;\n\n\n var popper = void 0;\n\n if (!hidePopper) {\n var classes = classnames(\"react-datepicker-popper\", className);\n popper = React.createElement(\n Popper,\n _extends({\n modifiers: popperModifiers,\n placement: popperPlacement\n }, popperProps),\n function (_ref) {\n var ref = _ref.ref,\n style = _ref.style,\n placement = _ref.placement,\n arrowProps = _ref.arrowProps;\n return React.createElement(\n \"div\",\n _extends({ ref: ref, style: style }, {\n className: classes,\n \"data-placement\": placement\n }),\n React.cloneElement(popperComponent, { arrowProps: arrowProps })\n );\n }\n );\n }\n\n if (this.props.popperContainer) {\n popper = React.createElement(this.props.popperContainer, {}, popper);\n }\n\n return React.createElement(\n Manager,\n null,\n React.createElement(\n Reference,\n null,\n function (_ref2) {\n var ref = _ref2.ref;\n return React.createElement(\n \"div\",\n { ref: ref, className: \"react-datepicker-wrapper\" },\n targetComponent\n );\n }\n ),\n popper\n );\n };\n\n createClass(PopperComponent, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n hidePopper: true,\n popperModifiers: {\n preventOverflow: {\n enabled: true,\n escapeWithReference: true,\n boundariesElement: \"viewport\"\n }\n },\n popperProps: {},\n popperPlacement: \"bottom-start\"\n };\n }\n }]);\n return PopperComponent;\n}(React.Component);\n\nPopperComponent.propTypes = {\n className: PropTypes.string,\n hidePopper: PropTypes.bool,\n popperComponent: PropTypes.element,\n popperModifiers: PropTypes.object, // props\n popperPlacement: PropTypes.oneOf(popperPlacementPositions), // props\n popperContainer: PropTypes.func,\n popperProps: PropTypes.object,\n targetComponent: PropTypes.element\n};\n\nvar outsideClickIgnoreClass = \"react-datepicker-ignore-onclickoutside\";\nvar WrappedCalendar = onClickOutside(Calendar);\n\n// Compares dates year+month combinations\nfunction hasPreSelectionChanged(date1, date2) {\n if (date1 && date2) {\n return getMonth(date1) !== getMonth(date2) || getYear(date1) !== getYear(date2);\n }\n\n return date1 !== date2;\n}\n\nfunction hasSelectionChanged(date1, date2) {\n if (date1 && date2) {\n return !equals(date1, date2);\n }\n\n return false;\n}\n\n/**\n * General datepicker component.\n */\nvar INPUT_ERR_1 = \"Date input not valid.\";\n\nvar DatePicker = function (_React$Component) {\n inherits(DatePicker, _React$Component);\n createClass(DatePicker, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n allowSameDay: false,\n dateFormat: \"L\",\n dateFormatCalendar: \"MMMM YYYY\",\n onChange: function onChange() {},\n\n disabled: false,\n disabledKeyboardNavigation: false,\n dropdownMode: \"scroll\",\n onFocus: function onFocus() {},\n onBlur: function onBlur() {},\n onKeyDown: function onKeyDown() {},\n onInputClick: function onInputClick() {},\n onSelect: function onSelect() {},\n onClickOutside: function onClickOutside$$1() {},\n onMonthChange: function onMonthChange() {},\n\n preventOpenOnFocus: false,\n onYearChange: function onYearChange() {},\n onInputError: function onInputError() {},\n\n monthsShown: 1,\n readOnly: false,\n withPortal: false,\n shouldCloseOnSelect: true,\n showTimeSelect: false,\n timeIntervals: 30,\n timeCaption: \"Time\",\n previousMonthButtonLabel: \"Previous Month\",\n nextMonthButtonLabel: \"Next month\",\n renderDayContents: function renderDayContents(date) {\n return date;\n }\n };\n }\n }]);\n\n function DatePicker(props) {\n classCallCheck(this, DatePicker);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.getPreSelection = function () {\n return _this.props.openToDate ? newDate(_this.props.openToDate) : _this.props.selectsEnd && _this.props.startDate ? newDate(_this.props.startDate) : _this.props.selectsStart && _this.props.endDate ? newDate(_this.props.endDate) : now(_this.props.utcOffset);\n };\n\n _this.calcInitialState = function () {\n var defaultPreSelection = _this.getPreSelection();\n var minDate = getEffectiveMinDate(_this.props);\n var maxDate = getEffectiveMaxDate(_this.props);\n var boundedPreSelection = minDate && isBefore(defaultPreSelection, minDate) ? minDate : maxDate && isAfter(defaultPreSelection, maxDate) ? maxDate : defaultPreSelection;\n return {\n open: _this.props.startOpen || false,\n preventFocus: false,\n preSelection: _this.props.selected ? newDate(_this.props.selected) : boundedPreSelection,\n // transforming highlighted days (perhaps nested array)\n // to flat Map for faster access in day.jsx\n highlightDates: getHightLightDaysMap(_this.props.highlightDates),\n focused: false\n };\n };\n\n _this.clearPreventFocusTimeout = function () {\n if (_this.preventFocusTimeout) {\n clearTimeout(_this.preventFocusTimeout);\n }\n };\n\n _this.setFocus = function () {\n if (_this.input && _this.input.focus) {\n _this.input.focus();\n }\n };\n\n _this.setBlur = function () {\n if (_this.input && _this.input.blur) {\n _this.input.blur();\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur();\n }\n\n _this.cancelFocusInput();\n };\n\n _this.setOpen = function (open) {\n var skipSetBlur = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n _this.setState({\n open: open,\n preSelection: open && _this.state.open ? _this.state.preSelection : _this.calcInitialState().preSelection,\n lastPreSelectChange: PRESELECT_CHANGE_VIA_NAVIGATE\n }, function () {\n if (!open) {\n _this.setState(function (prev) {\n return {\n focused: skipSetBlur ? prev.focused : false\n };\n }, function () {\n !skipSetBlur && _this.setBlur();\n\n _this.setState({ inputValue: null });\n });\n }\n });\n };\n\n _this.inputOk = function () {\n return isMoment(_this.state.preSelection) || isDate(_this.state.preSelection);\n };\n\n _this.isCalendarOpen = function () {\n return _this.props.open === undefined ? _this.state.open && !_this.props.disabled && !_this.props.readOnly : _this.props.open;\n };\n\n _this.handleFocus = function (event) {\n if (!_this.state.preventFocus) {\n _this.props.onFocus(event);\n if (!_this.props.preventOpenOnFocus && !_this.props.readOnly) {\n _this.setOpen(true);\n }\n }\n _this.setState({ focused: true });\n };\n\n _this.cancelFocusInput = function () {\n clearTimeout(_this.inputFocusTimeout);\n _this.inputFocusTimeout = null;\n };\n\n _this.deferFocusInput = function () {\n _this.cancelFocusInput();\n _this.inputFocusTimeout = setTimeout(function () {\n return _this.setFocus();\n }, 1);\n };\n\n _this.handleDropdownFocus = function () {\n _this.cancelFocusInput();\n };\n\n _this.handleBlur = function (event) {\n if (_this.state.open && !_this.props.withPortal) {\n _this.deferFocusInput();\n } else {\n _this.props.onBlur(event);\n }\n _this.setState({ focused: false });\n };\n\n _this.handleCalendarClickOutside = function (event) {\n if (!_this.props.inline) {\n _this.setOpen(false);\n }\n _this.props.onClickOutside(event);\n if (_this.props.withPortal) {\n event.preventDefault();\n }\n };\n\n _this.handleChange = function () {\n for (var _len = arguments.length, allArgs = Array(_len), _key = 0; _key < _len; _key++) {\n allArgs[_key] = arguments[_key];\n }\n\n var event = allArgs[0];\n if (_this.props.onChangeRaw) {\n _this.props.onChangeRaw.apply(_this, allArgs);\n if (typeof event.isDefaultPrevented !== \"function\" || event.isDefaultPrevented()) {\n return;\n }\n }\n _this.setState({\n inputValue: event.target.value,\n lastPreSelectChange: PRESELECT_CHANGE_VIA_INPUT\n });\n var date = parseDate(event.target.value, _this.props);\n if (date || !event.target.value) {\n _this.setSelected(date, event, true);\n }\n };\n\n _this.handleSelect = function (date, event) {\n // Preventing onFocus event to fix issue\n // https://github.com/Hacker0x01/react-datepicker/issues/628\n _this.setState({ preventFocus: true }, function () {\n _this.preventFocusTimeout = setTimeout(function () {\n return _this.setState({ preventFocus: false });\n }, 50);\n return _this.preventFocusTimeout;\n });\n _this.setSelected(date, event);\n if (!_this.props.shouldCloseOnSelect || _this.props.showTimeSelect) {\n _this.setPreSelection(date);\n } else if (!_this.props.inline) {\n _this.setOpen(false);\n }\n };\n\n _this.setSelected = function (date, event, keepInput) {\n var changedDate = date;\n\n if (changedDate !== null && isDayDisabled(changedDate, _this.props)) {\n if (isOutOfBounds(changedDate, _this.props)) {\n _this.props.onChange(date, event);\n _this.props.onSelect(changedDate, event);\n }\n\n return;\n }\n\n if (!isSameDay(_this.props.selected, changedDate) || _this.props.allowSameDay) {\n if (changedDate !== null) {\n if (_this.props.selected) {\n var selected = _this.props.selected;\n if (keepInput) selected = newDate(changedDate);\n changedDate = setTime(newDate(changedDate), {\n hour: getHour(selected),\n minute: getMinute(selected),\n second: getSecond(selected)\n });\n }\n if (!_this.props.inline) {\n _this.setState({\n preSelection: changedDate\n });\n }\n }\n _this.props.onChange(changedDate, event);\n }\n\n _this.props.onSelect(changedDate, event);\n\n if (!keepInput) {\n _this.setState({ inputValue: null });\n }\n };\n\n _this.setPreSelection = function (date) {\n var isDateRangePresent = typeof _this.props.minDate !== \"undefined\" && typeof _this.props.maxDate !== \"undefined\";\n var isValidDateSelection = isDateRangePresent && date ? isDayInRange(date, _this.props.minDate, _this.props.maxDate) : true;\n if (isValidDateSelection) {\n _this.setState({\n preSelection: date\n });\n }\n };\n\n _this.handleTimeChange = function (time) {\n var selected = _this.props.selected ? _this.props.selected : _this.getPreSelection();\n var changedDate = setTime(cloneDate(selected), {\n hour: getHour(time),\n minute: getMinute(time)\n });\n\n _this.setState({\n preSelection: changedDate\n });\n\n _this.props.onChange(changedDate);\n if (_this.props.shouldCloseOnSelect) {\n _this.setOpen(false);\n }\n _this.setState({ inputValue: null });\n };\n\n _this.onInputClick = function () {\n if (!_this.props.disabled && !_this.props.readOnly) {\n _this.setOpen(true);\n }\n\n _this.props.onInputClick();\n };\n\n _this.onInputKeyDown = function (event) {\n _this.props.onKeyDown(event);\n var eventKey = event.key;\n if (!_this.state.open && !_this.props.inline && !_this.props.preventOpenOnFocus) {\n if (eventKey === \"ArrowDown\" || eventKey === \"ArrowUp\") {\n _this.onInputClick();\n }\n return;\n }\n var copy = newDate(_this.state.preSelection);\n if (eventKey === \"Enter\") {\n event.preventDefault();\n if (_this.inputOk() && _this.state.lastPreSelectChange === PRESELECT_CHANGE_VIA_NAVIGATE) {\n _this.handleSelect(copy, event);\n !_this.props.shouldCloseOnSelect && _this.setPreSelection(copy);\n } else {\n _this.setOpen(false);\n }\n } else if (eventKey === \"Escape\") {\n event.preventDefault();\n\n _this.setOpen(false);\n if (!_this.inputOk()) {\n _this.props.onInputError({ code: 1, msg: INPUT_ERR_1 });\n }\n } else if (eventKey === \"Tab\") {\n _this.setOpen(false, true);\n } else if (!_this.props.disabledKeyboardNavigation) {\n var newSelection = void 0;\n switch (eventKey) {\n case \"ArrowLeft\":\n newSelection = subtractDays(copy, 1);\n break;\n case \"ArrowRight\":\n newSelection = addDays(copy, 1);\n break;\n case \"ArrowUp\":\n newSelection = subtractWeeks(copy, 1);\n break;\n case \"ArrowDown\":\n newSelection = addWeeks(copy, 1);\n break;\n case \"PageUp\":\n newSelection = subtractMonths(copy, 1);\n break;\n case \"PageDown\":\n newSelection = addMonths(copy, 1);\n break;\n case \"Home\":\n newSelection = subtractYears(copy, 1);\n break;\n case \"End\":\n newSelection = addYears(copy, 1);\n break;\n }\n if (!newSelection) {\n if (_this.props.onInputError) {\n _this.props.onInputError({ code: 1, msg: INPUT_ERR_1 });\n }\n return; // Let the input component handle this keydown\n }\n event.preventDefault();\n _this.setState({ lastPreSelectChange: PRESELECT_CHANGE_VIA_NAVIGATE });\n if (_this.props.adjustDateOnChange) {\n _this.setSelected(newSelection);\n }\n _this.setPreSelection(newSelection);\n }\n };\n\n _this.onClearClick = function (event) {\n if (event) {\n if (event.preventDefault) {\n event.preventDefault();\n }\n }\n _this.props.onChange(null, event);\n _this.setState({ inputValue: null });\n };\n\n _this.clear = function () {\n _this.onClearClick();\n };\n\n _this.renderCalendar = function () {\n if (!_this.props.inline && !_this.isCalendarOpen()) {\n return null;\n }\n return React.createElement(\n WrappedCalendar,\n {\n ref: function ref(elem) {\n _this.calendar = elem;\n },\n locale: _this.props.locale,\n adjustDateOnChange: _this.props.adjustDateOnChange,\n setOpen: _this.setOpen,\n dateFormat: _this.props.dateFormatCalendar,\n useWeekdaysShort: _this.props.useWeekdaysShort,\n formatWeekDay: _this.props.formatWeekDay,\n dropdownMode: _this.props.dropdownMode,\n selected: _this.props.selected,\n preSelection: _this.state.preSelection,\n onSelect: _this.handleSelect,\n onWeekSelect: _this.props.onWeekSelect,\n openToDate: _this.props.openToDate,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n excludeDates: _this.props.excludeDates,\n filterDate: _this.props.filterDate,\n onClickOutside: _this.handleCalendarClickOutside,\n formatWeekNumber: _this.props.formatWeekNumber,\n highlightDates: _this.state.highlightDates,\n includeDates: _this.props.includeDates,\n includeTimes: _this.props.includeTimes,\n injectTimes: _this.props.injectTimes,\n inline: _this.props.inline,\n peekNextMonth: _this.props.peekNextMonth,\n showMonthDropdown: _this.props.showMonthDropdown,\n useShortMonthInDropdown: _this.props.useShortMonthInDropdown,\n showMonthYearDropdown: _this.props.showMonthYearDropdown,\n showWeekNumbers: _this.props.showWeekNumbers,\n showYearDropdown: _this.props.showYearDropdown,\n withPortal: _this.props.withPortal,\n forceShowMonthNavigation: _this.props.forceShowMonthNavigation,\n showDisabledMonthNavigation: _this.props.showDisabledMonthNavigation,\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown,\n todayButton: _this.props.todayButton,\n weekLabel: _this.props.weekLabel,\n utcOffset: _this.props.utcOffset,\n outsideClickIgnoreClass: outsideClickIgnoreClass,\n fixedHeight: _this.props.fixedHeight,\n monthsShown: _this.props.monthsShown,\n onDropdownFocus: _this.handleDropdownFocus,\n onMonthChange: _this.props.onMonthChange,\n onYearChange: _this.props.onYearChange,\n dayClassName: _this.props.dayClassName,\n showTimeSelect: _this.props.showTimeSelect,\n showTimeSelectOnly: _this.props.showTimeSelectOnly,\n onTimeChange: _this.handleTimeChange,\n timeFormat: _this.props.timeFormat,\n timeIntervals: _this.props.timeIntervals,\n minTime: _this.props.minTime,\n maxTime: _this.props.maxTime,\n excludeTimes: _this.props.excludeTimes,\n timeCaption: _this.props.timeCaption,\n className: _this.props.calendarClassName,\n container: _this.props.calendarContainer,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber,\n previousMonthButtonLabel: _this.props.previousMonthButtonLabel,\n nextMonthButtonLabel: _this.props.nextMonthButtonLabel,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation,\n renderCustomHeader: _this.props.renderCustomHeader,\n popperProps: _this.props.popperProps,\n renderDayContents: _this.props.renderDayContents\n },\n _this.props.children\n );\n };\n\n _this.renderDateInput = function () {\n var _classnames, _React$cloneElement;\n\n var className = classnames(_this.props.className, (_classnames = {}, _classnames[outsideClickIgnoreClass] = _this.state.open, _classnames));\n\n var customInput = _this.props.customInput || React.createElement(\"input\", { type: \"text\" });\n var customInputRef = _this.props.customInputRef || \"ref\";\n var inputValue = typeof _this.props.value === \"string\" ? _this.props.value : typeof _this.state.inputValue === \"string\" ? _this.state.inputValue : safeDateFormat(_this.props.selected, _this.props);\n\n return React.cloneElement(customInput, (_React$cloneElement = {}, _React$cloneElement[customInputRef] = function (input) {\n _this.input = input;\n }, _React$cloneElement.value = inputValue, _React$cloneElement.onBlur = _this.handleBlur, _React$cloneElement.onChange = _this.handleChange, _React$cloneElement.onClick = _this.onInputClick, _React$cloneElement.onFocus = _this.handleFocus, _React$cloneElement.onKeyDown = _this.onInputKeyDown, _React$cloneElement.id = _this.props.id, _React$cloneElement.name = _this.props.name, _React$cloneElement.autoFocus = _this.props.autoFocus, _React$cloneElement.placeholder = _this.props.placeholderText, _React$cloneElement.disabled = _this.props.disabled, _React$cloneElement.autoComplete = _this.props.autoComplete, _React$cloneElement.className = className, _React$cloneElement.title = _this.props.title, _React$cloneElement.readOnly = _this.props.readOnly, _React$cloneElement.required = _this.props.required, _React$cloneElement.tabIndex = _this.props.tabIndex, _React$cloneElement));\n };\n\n _this.renderClearButton = function () {\n if (_this.props.isClearable && _this.props.selected != null) {\n return React.createElement(\"button\", {\n type: \"button\",\n className: \"react-datepicker__close-icon\",\n onClick: _this.onClearClick,\n title: _this.props.clearButtonTitle,\n tabIndex: -1\n });\n } else {\n return null;\n }\n };\n\n _this.state = _this.calcInitialState();\n return _this;\n }\n\n DatePicker.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.inline && hasPreSelectionChanged(prevProps.selected, this.props.selected)) {\n this.setPreSelection(this.props.selected);\n }\n if (prevProps.highlightDates !== this.props.highlightDates) {\n this.setState({\n highlightDates: getHightLightDaysMap(this.props.highlightDates)\n });\n }\n if (!prevState.focused && hasSelectionChanged(prevProps.selected, this.props.selected)) {\n this.setState({ inputValue: null });\n }\n };\n\n DatePicker.prototype.componentWillUnmount = function componentWillUnmount() {\n this.clearPreventFocusTimeout();\n };\n\n DatePicker.prototype.render = function render() {\n var calendar = this.renderCalendar();\n\n if (this.props.inline && !this.props.withPortal) {\n return calendar;\n }\n\n if (this.props.withPortal) {\n return React.createElement(\n \"div\",\n null,\n !this.props.inline ? React.createElement(\n \"div\",\n { className: \"react-datepicker__input-container\" },\n this.renderDateInput(),\n this.renderClearButton()\n ) : null,\n this.state.open || this.props.inline ? React.createElement(\n \"div\",\n { className: \"react-datepicker__portal\" },\n calendar\n ) : null\n );\n }\n\n return React.createElement(PopperComponent, {\n className: this.props.popperClassName,\n hidePopper: !this.isCalendarOpen(),\n popperModifiers: this.props.popperModifiers,\n targetComponent: React.createElement(\n \"div\",\n { className: \"react-datepicker__input-container\" },\n this.renderDateInput(),\n this.renderClearButton()\n ),\n popperContainer: this.props.popperContainer,\n popperComponent: calendar,\n popperPlacement: this.props.popperPlacement,\n popperProps: this.props.popperProps\n });\n };\n\n return DatePicker;\n}(React.Component);\n\nDatePicker.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n allowSameDay: PropTypes.bool,\n autoComplete: PropTypes.string,\n autoFocus: PropTypes.bool,\n calendarClassName: PropTypes.string,\n calendarContainer: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n customInput: PropTypes.element,\n customInputRef: PropTypes.string,\n // eslint-disable-next-line react/no-unused-prop-types\n dateFormat: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n dateFormatCalendar: PropTypes.string,\n dayClassName: PropTypes.func,\n disabled: PropTypes.bool,\n disabledKeyboardNavigation: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.array,\n id: PropTypes.string,\n includeDates: PropTypes.array,\n includeTimes: PropTypes.array,\n injectTimes: PropTypes.array,\n inline: PropTypes.bool,\n isClearable: PropTypes.bool,\n locale: PropTypes.string,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n monthsShown: PropTypes.number,\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onSelect: PropTypes.func,\n onWeekSelect: PropTypes.func,\n onClickOutside: PropTypes.func,\n onChangeRaw: PropTypes.func,\n onFocus: PropTypes.func,\n onInputClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onMonthChange: PropTypes.func,\n onYearChange: PropTypes.func,\n onInputError: PropTypes.func,\n open: PropTypes.bool,\n openToDate: PropTypes.object,\n peekNextMonth: PropTypes.bool,\n placeholderText: PropTypes.string,\n popperContainer: PropTypes.func,\n popperClassName: PropTypes.string, // props\n popperModifiers: PropTypes.object, // props\n popperPlacement: PropTypes.oneOf(popperPlacementPositions), // props\n popperProps: PropTypes.object,\n preventOpenOnFocus: PropTypes.bool,\n readOnly: PropTypes.bool,\n required: PropTypes.bool,\n scrollableYearDropdown: PropTypes.bool,\n scrollableMonthYearDropdown: PropTypes.bool,\n selected: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n showMonthYearDropdown: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n forceShowMonthNavigation: PropTypes.bool,\n showDisabledMonthNavigation: PropTypes.bool,\n startDate: PropTypes.object,\n startOpen: PropTypes.bool,\n tabIndex: PropTypes.number,\n timeCaption: PropTypes.string,\n title: PropTypes.string,\n todayButton: PropTypes.node,\n useWeekdaysShort: PropTypes.bool,\n formatWeekDay: PropTypes.func,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n value: PropTypes.string,\n weekLabel: PropTypes.string,\n withPortal: PropTypes.bool,\n yearDropdownItemNumber: PropTypes.number,\n shouldCloseOnSelect: PropTypes.bool,\n showTimeSelect: PropTypes.bool,\n showTimeSelectOnly: PropTypes.bool,\n timeFormat: PropTypes.string,\n timeIntervals: PropTypes.number,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n useShortMonthInDropdown: PropTypes.bool,\n clearButtonTitle: PropTypes.string,\n previousMonthButtonLabel: PropTypes.string,\n nextMonthButtonLabel: PropTypes.string,\n renderCustomHeader: PropTypes.func,\n renderDayContents: PropTypes.func\n};\nvar PRESELECT_CHANGE_VIA_INPUT = \"input\";\nvar PRESELECT_CHANGE_VIA_NAVIGATE = \"navigate\";\n\nexport { CalendarContainer };\nexport default DatePicker;\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport DatePicker from \"react-datepicker\";\nimport moment from \"moment\";\nimport 'moment/locale/cs'; // this is required to prevent a bug when czech locale is not loaded\nimport 'react-datepicker/dist/react-datepicker.css';\n\nclass DateField extends React.Component {\n\n static propTypes = {\n title: PropTypes.string,\n defaultValue: PropTypes.number,\n description: PropTypes.string,\n onChange: PropTypes.func,\n placeholder: PropTypes.string,\n returnEndOfDay: PropTypes.bool,\n disabled: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n\n this.state = {\n value: (props.defaultValue === null || props.defaultValue === undefined) ? null : moment.unix(props.defaultValue)\n };\n }\n\n static getDerivedStateFromProps(props, state) {\n return {\n value: (props.defaultValue === null || props.defaultValue === undefined) ? null : moment.unix(props.defaultValue)\n }\n }\n\n wrapDescription(description) {\n if (description === undefined) {\n return \"\";\n } else {\n return description.split('\\n').map((item, key) => {\n return {item}
\n })\n }\n }\n\n render() {\n const { title, description } = this.props;\n\n return (\n
\n
{title}
\n \n
{this.wrapDescription(description)}
\n
\n );\n }\n\n handleChange(newValue) {\n this.setState({value: newValue});\n\n if (newValue !== null && this.props.returnEndOfDay === true) {\n newValue = newValue.endOf('day')\n }\n\n this.props.onChange(newValue === null ? null : newValue.unix());\n }\n}\n\nexport default DateField\n","export const generateEffectivity = (hardness) => {\n let values = [];\n\n switch (hardness) {\n case EffectivityLevel.low:\n values = [\n {\n \"hours\": 0,\n \"people\": 0,\n \"goods\": 0\n },\n {\n \"hours\": 250,\n \"people\": 1,\n \"goods\": 125\n },\n {\n \"hours\": 500,\n \"people\": 2,\n \"goods\": 400\n },\n {\n \"hours\": 750,\n \"people\": 3,\n \"goods\": 675\n },\n {\n \"hours\": 1000,\n \"people\": 4,\n \"goods\": 950\n },\n {\n \"hours\": 1250,\n \"people\": 5,\n \"goods\": 1225\n },\n {\n \"hours\": 1500,\n \"people\": 6,\n \"goods\": 1500\n }\n ];\n break;\n\n case EffectivityLevel.high:\n values = [\n {\n \"hours\": 0,\n \"people\": 0,\n \"goods\": 0\n },\n {\n \"hours\": 250,\n \"people\": 2,\n \"goods\": 25\n },\n {\n \"hours\": 500,\n \"people\": 4,\n \"goods\": 75\n },\n {\n \"hours\": 750,\n \"people\": 6,\n \"goods\": 125\n },\n {\n \"hours\": 1000,\n \"people\": 8,\n \"goods\": 200\n },\n {\n \"hours\": 1250,\n \"people\": 10,\n \"goods\": 275\n },\n {\n \"hours\": 1500,\n \"people\": 12,\n \"goods\": 400\n }\n ];\n break;\n\n default:\n return \"jsi blbec\";\n }\n\n return values;\n};\n\nexport const EffectivityLevel = {\n low: 1,\n high: 3\n};","import React from 'react'\nimport PropTypes from 'prop-types'\nimport SelectField from \"./SelectField\";\n\nclass SelectTimeInWeek extends React.Component {\n\n static propTypes = {\n defaultValue: PropTypes.string,\n onChange: PropTypes.func.isRequired\n };\n\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n\n const state = {\n dayValue: \"\",\n hourValue: \"\"\n };\n\n let defaultValue = props.defaultValue || '';\n const match = defaultValue.match(/([^0-9]+)([0-9:]+)/i); // e.g. 'Út (sudý týden) 9:00' -> ['Út (sudý týden) ', '9:00']\n if (match !== null) {\n state.dayValue = match[1].trim(); // remove leading space, e.g. 'Út (sudý týden) ' -> 'Út (sudý týden)'\n state.hourValue = match[2];\n }\n\n this.state = state;\n }\n\n render() {\n let options1 = [{title: 'Vyberte den', value: ''}];\n ['Po', 'Út', 'St', 'Čt', 'Pá'].forEach(day => {\n options1.push({title: day + ' (sudý týden)', value: day + ' (sudý týden)'});\n options1.push({title: day + ' (lichý týden)', value: day + ' (lichý týden)'});\n });\n\n let options2 = [{title: 'Vyberte čas', value: ''}];\n [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20].forEach(hour => {\n options2.push({title: hour + ':00', value: hour + ':00'});\n });\n\n return (\n
\n
\n {\n this.setState({dayValue: day}, this.handleChange);\n }}\n defaultValue={this.state.dayValue}\n name={'select-day'}\n />\n
\n
\n {\n this.setState({hourValue: hour}, this.handleChange);\n }}\n defaultValue={this.state.hourValue}\n name={'select-hour'}\n />\n
\n
\n );\n }\n\n handleChange() {\n if (this.state.dayValue !== '' && this.state.hourValue !== '') {\n const value = this.state.dayValue + ' ' + this.state.hourValue;\n this.props.onChange(value);\n } else {\n this.props.onChange(false);\n }\n }\n}\n\nexport default SelectTimeInWeek\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport {connect} from \"react-redux\";\nimport TextField from \"../../../../components/TextField\";\nimport {createTeacherGame, loadTeacherGameDefaults, updateTeacherGame} from \"../../../../actions/sync-modules\";\nimport NumberField from \"../../../../components/NumberField\";\nimport DateField from \"../../../../components/DateField\";\nimport moment from \"moment\"\nimport update from 'immutability-helper'\nimport {generateEffectivity, EffectivityLevel} from \"./GameMachineEffectivityGenerator\";\nimport SelectField from \"../../../../components/SelectField\";\nimport Loader from \"../../../../components/Loader\";\nimport {Schemas} from \"../../../../middleware/sync/schema\";\nimport SelectTimeInWeek from \"../../../../components/SelectTimeInWeek\";\nimport {madeChangesWithoutSaving, savedAllChanges} from \"../../../../actions/sync-changes-tracking\";\nimport {firstUpper} from \"../../../../services/utils\";\nimport {resetErrorMessage, showErrorMessage} from \"../../../../actions/errors\";\nimport config from \"../../../../config\";\nimport { withTranslation } from 'react-i18next';\nimport { CZ } from 'country-flag-icons/react/3x2';\nimport { US } from 'country-flag-icons/react/3x2';\n\nclass Game extends React.Component {\n\n static propTypes = {\n\n };\n\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n\n const gameId = this.props.match.params.id;\n\n // default form values\n let game = {};\n let gameHasStarted = false;\n let currentQuarterNumber = null;\n\n // id autoincrements\n let lastGoodId = 0;\n let lastMaterialId = 0;\n\n if (gameId === \"new\") {\n this.initializeNewGame();\n } else {\n ({game, currentQuarterNumber, lastGoodId, lastMaterialId, gameHasStarted} = this.processExistingGame(gameId));\n }\n\n this.state = {\n machineTimeMenus: [],\n currentTab: 0,\n isCreatingNewGame: gameId === \"new\",\n isSaving: false,\n redirectToGames: false,\n newSeminarName: false,\n isLoading: gameId === \"new\",\n\n lastMaterialId: lastMaterialId,\n lastGoodId: lastGoodId,\n game: game,\n gameHasStarted: gameHasStarted,\n currentQuarterNumber: currentQuarterNumber\n };\n\n }\n\n initializeNewGame() {\n // download default values for the new game from the server\n this.props.loadTeacherGameDefaults(() => {\n let game = this.props.gameDefaults;\n game.productionEffectivity.forEach(e => {\n const hardness = e.effectivity === 'high' ? EffectivityLevel.high : EffectivityLevel.low;\n e.effectivity = generateEffectivity(hardness);\n });\n this.setState({\n game: game,\n currentQuarterNumber: null,\n lastGoodId: game.goods.length + 1,\n lastMaterialId: game.materials.length + 1,\n isLoading: false,\n gameHasStarted: game !== undefined && game.currentQuarterNumber > 0,\n });\n });\n }\n\n processExistingGame(gameId) {\n // extract ids from an existing game\n let lastGoodId = 0;\n let lastMaterialId = 0;\n let gameHasStarted = false;\n let currentQuarterNumber = null;\n\n let game = this.props.games[gameId];\n\n if (game !== undefined) {\n game.goods.forEach(good => {\n if (good.id > lastGoodId) lastGoodId = good.id;\n });\n game.materials.forEach(material => {\n if (material.id > lastMaterialId) lastMaterialId = material.id;\n });\n currentQuarterNumber = game.currentQuarterNumber;\n gameHasStarted = currentQuarterNumber > 0;\n }\n\n return { game, currentQuarterNumber, lastGoodId, lastMaterialId, gameHasStarted }\n }\n\n reloadGame() {\n this.setState(this.processExistingGame(this.state.game.id));\n }\n\n render() {\n if (this.state.game === undefined || this.state.redirectToGames) {\n return \n }\n\n if (this.state.isLoading) {\n return \n }\n\n return (\n
\n
\n {this.renderCloseButton()}\n {this.renderSaveChangesButton()}\n

{this.state.isCreatingNewGame ? 'Vytvoření nové hry' : 'Úprava hry'}

\n
\n
\n {this.renderContent()}\n
\n
\n )\n }\n\n renderCloseButton() {\n if (this.state.isCreatingNewGame || this.state.isSaving) {\n return null;\n } else {\n return \n }\n }\n\n renderSaveChangesButton() {\n if (this.state.isCreatingNewGame || this.state.isSaving) {\n return null;\n } else if (this.props.noUnsavedChanges) {\n return \n } else {\n return \n }\n }\n\n cancelEditing() {\n const what = this.state.isCreatingNewGame ? 'vytváření' : 'úpravu';\n const isConfirmed = () => window.confirm(\"Opravdu zrušit \" + what + \" hry? Hra nebude uložena.\");\n\n if (this.props.noUnsavedChanges || isConfirmed()) {\n this.props.savedAllChanges();\n this.props.resetErrorMessage();\n this.setState({redirectToGames: true});\n }\n }\n\n renderContent() {\n if (this.state.isSaving) {\n return \n } else {\n return (\n
\n
\n {this.renderTabs()}\n
\n
\n {this.renderForm(this.state.currentTab)}\n {this.renderButtons()}\n
\n );\n }\n }\n\n renderButtons(){\n let a = [];\n if (this.state.isCreatingNewGame) {\n a.push();\n }\n if (this.state.currentTab > 0) {\n a.push()\n }\n if (this.state.currentTab < 5) {\n a.push()\n }\n if (this.state.currentTab === 5) {\n a.push()\n }\n return
\n
\n
\n {a}\n
\n
;\n }\n\n localizeFieldName(key) {\n const fullKey = 'originalErrors.gameFormFields.' + key;\n return firstUpper(this.props.t(fullKey), key)\n\n }\n\n validateObject(obj) {\n let error = false;\n const initialYear = this.state.game.initialYear;\n const gameYearCount = this.state.game.gameYearCount;\n\n Object.keys(obj).forEach(attr => {\n if (obj[attr] === null || obj[attr] === \"\") {\n this.props.showErrorMessage(this.props.t(\"originalErrors.Field Not Filled\", {fieldName: this.localizeFieldName(attr)}))\n error = true;\n } else if (Array.isArray(obj[attr])) {\n if (obj[attr].length === 0) {\n this.props.showErrorMessage(this.props.t(\"originalErrors.One Object Necessary\", {fieldName: this.localizeFieldName(attr)}));\n error = true;\n } else {\n obj[attr].forEach(item => {\n if (attr === \"quarters\" &&\n (item.quarterNumber < initialYear * 4 || item.quarterNumber > gameYearCount * 4)\n ) {\n // no control for quarters before the last quarter of the last initial year or the last game quarter\n } else if (this.validateObject(item) === false) {\n error = true;\n }\n });\n }\n } else if (typeof obj[attr] === \"object\") {\n if(this.validateObject(obj[attr]) === false) {\n error = true;\n }\n }\n });\n\n return error === false;\n }\n\n validateForm() {\n const optionalAttributes = ['currentQuarterNumber'];\n const game = this.state.game;\n\n // remove optional attributes to not validate them\n optionalAttributes.forEach(attr => {\n delete game[attr];\n });\n\n // validate all game attributes except optional ones\n if (this.validateObject(game)) {\n // validation ok\n this.props.resetErrorMessage();\n return true;\n } else {\n // problems detected, go to top of the page to see them\n window.scrollTo(0, 0);\n return false;\n }\n }\n\n saveGame() {\n if (this.validateForm()) {\n this.setState({isSaving: true});\n let game = Object.assign({}, this.state.game);\n\n if (game.id !== undefined) {\n this.props.updateTeacherGame(game.id, game, () => this.finishSaving());\n } else {\n this.props.createTeacherGame(game, () => this.finishSaving());\n }\n }\n }\n\n finishSaving() {\n this.setState({isSaving: false});\n\n if (this.props.error === undefined || this.props.error === null) { // stay on page in case of an error\n this.props.savedAllChanges();\n\n if (this.state.isCreatingNewGame) {\n // after creating a new game, redirect to list\n this.setState({redirectToGames: true});\n } else {\n // after updating a game, stay on page but load new data from server\n this.reloadGame();\n }\n }\n }\n\n renderTabs() {\n const tabs = [\"1. Struktura hry\", \"2. Suroviny\", \"3. Výrobky\", \"4. Poptávka\", \"5. Strojový čas\", \"6. Ostatní\"];\n return tabs.map((tab, index) => {\n return (\n
\n this.setState({currentTab: index})}\n >\n {tab}\n
\n \n )\n })\n }\n\n renderForm(id) {\n switch (id) {\n case 0: return this.renderFormStructureOfGame();\n case 1: return this.renderFormMaterials();\n case 2: return this.renderFormGoods();\n case 3: return this.renderFormDemand();\n case 4: return this.renderFormMachineTime();\n case 5: return this.renderFormOthers();\n default: return
Jsi blbec.
\n }\n }\n\n handleChange(key, value) {\n let copy = Object.assign({}, this.state.game);\n copy[key] = value;\n this.props.madeChangesWithoutSaving();\n this.setState({game: copy});\n }\n\n renderFormStructureOfGame() {\n const game = this.state.game;\n return (\n
\n

Název hry

\n
\n
\n this.handleChange('name', v)}\n name={'name'}\n maxLength={100}\n />\n
\n
\n\n

Délka hry

\n
\n
\n this.handleChange('fictiveYearOfCompanyEstablishement', v)}\n required={true}\n minValue={0}\n maxValue={9999}\n />\n
\n
\n this.handleYearChange('gameYearCount', v)}\n disabled={this.state.isCreatingNewGame === false}\n />\n
\n
\n this.handleYearChange('initialYear', v)}\n disabled={true}\n />\n
\n
\n\n

Registrace

\n
\n
\n this.handleChange('registrationPhrase', v)}\n disabled={this.state.gameHasStarted}\n name={'registration-phrase'}\n maxLength={config.maxRegistrationPhraseLength}\n />\n
\n
\n this.handleChange('endOfRegistrations', v)}\n disabled={this.state.gameHasStarted}\n />\n
\n
\n
\n\n

Herní kola

\n {this.renderSeasons()}\n\n

Termíny cvičení

\n {this.renderSeminars()}\n\n
\n
Legenda
\n

Nejprve je období registrací, kdy se studenti registrují do her, vytváří firmy a přidávají se do firem. Toto období začíná hned po vytvoření hry a končí datem \"Datum konce registrací firem studenty\".

\n

Pak je další období, kdy studenti nedělají nic a učitelé vytváří trhy a přiřazují firmy do trhů.

\n

Jakmile učitel ukončí editaci trhů, studenti vidí v administraci svoji firmu. Nachází se v posledním neherním kvartálu (při jednom neherním roku je to Q4 1. roku). Kromě tržních průzkůmů nemohou nic nastavovat.

\n

Hra začíná koncem posledního kvartálu neherního roku (při jednom neherním roku je to pole \"Konec Q4 1. roku\"). Od této doby již studenti mohou dělat všechna rozhodnutí bez omezení.

\n

Další herní kola začínají vždy dnem následujícím po konci předchozího kola a končí datem uvedeným v příslušném políčku, např. 3. kvartál 3. roku končí datem uvedeným v poli \"Konec Q3 3. roku\".

\n

Všechna data jsou uvažována včetně daného dne. Tedy se uvažuje 23:59:59 vybraného dne.

\n
\n
\n )\n }\n\n renderSeminars() {\n const chips = this.state.game.seminars.map((seminar, index) => {\n return (\n \n {seminar.name}\n {\n const index = this.state.game.seminars.indexOf(seminar);\n this.props.madeChangesWithoutSaving();\n this.setState({game: update(this.state.game, {seminars: {$splice: [[index, 1]]}})});\n }}>close\n \n )\n });\n\n return
\n {chips}\n
\n
\n this.setState({newSeminarName: value}) }\n />\n
\n
\n {\n if (this.state.game.seminars.find(i => i.name === this.state.newSeminarName) === undefined) {\n this.props.madeChangesWithoutSaving();\n this.setState({game: update(this.state.game, {seminars: {$push: [{name: this.state.newSeminarName, nameEn: this.translateSeminarName(this.state.newSeminarName)}]}})})\n }\n }}>Přidat\n
\n
\n
\n }\n\n translateSeminarName(originalName){\n let daysDictionary = {\n \"Po\" : \"Mon\",\n \"Út\" : \"Tue\",\n \"St\" : \"Wed\",\n \"Čt\" : \"Thu\",\n \"Pá\" : \"Fri\"\n }\n let lastPart = originalName.slice(2).replace(\"lichý\", \"odd\").replace(\"sudý\", \"even\").replace(\"týden\", \"week\")\n return daysDictionary[originalName.slice(0, 2)] + lastPart\n }\n\n handleYearChange(k, v) {\n let game = Object.assign({}, this.state.game);\n game[k] = v;\n\n let quarters = game.quarters.slice();\n const newCount = game.gameYearCount * 4;\n\n for (let i = quarters.length; i < newCount; i ++) {\n quarters.push({quarterNumber: i + 1, end: null});\n }\n\n quarters = quarters.slice(0, newCount);\n\n game.quarters = quarters;\n\n this.props.madeChangesWithoutSaving();\n this.setState({game: game});\n }\n\n renderSeasons() {\n const game = this.state.game;\n let a = [];\n\n for(let i = 0; i < this.state.game.gameYearCount; i++) {\n const year = i + 1;\n const yearQuarter = i * 4 + 1;\n\n const fields = (new Array(4).fill(null)).map((v, j) => {\n const quarterNumber = yearQuarter + j;\n const quarter = this.state.game.quarters.find(quarter => (quarter.quarterNumber === quarterNumber));\n const end = quarter.end;\n\n return
\n this.handleQuarterEndChange(yearQuarter + j, end)}\n title={\"Konec Q\" + (j+1) + \" \" + (i+1) + \". roku\"}\n returnEndOfDay={true}\n placeholder={\"Prosím, vyberte datum\"}\n disabled={\n (year < game.initialYear) || // disable initial years\n (year === game.initialYear && j < 3) || // except last quarter (4th)\n (this.state.currentQuarterNumber > quarterNumber)\n }\n />\n
;\n });\n\n a.push(
{fields}
);\n }\n\n return a;\n }\n\n\n\n handleQuarterEndChange(quarterNumber, end) {\n let copy = Object.assign({}, this.state.game);\n let quarters = copy.quarters.slice();\n quarters.find(quarter => quarter.quarterNumber === quarterNumber).end = end;\n\n quarters.forEach(quarter => {\n if (quarter.quarterNumber > quarterNumber && quarter.end === null) {\n quarter.end = moment.unix(end).add(quarter.quarterNumber - quarterNumber, 'week').unix();\n }\n });\n\n copy.quarters = quarters;\n\n this.props.madeChangesWithoutSaving();\n this.setState({game: copy});\n }\n\n renderFormMaterials() {\n const game = this.state.game;\n return (\n
\n
\n
\n
\n
\n

Surovniny používané pro výrobu

\n
\n
\n this.addMaterial()}\n disabled={this.state.isCreatingNewGame === false}\n >\n Přidat surovinu\n \n
\n
\n {this.renderMaterialsTable()}\n
\n * Množství materiálu na skladě je údaj vztažený k začátku 1. čtvrtletí 1. roku hry (neherního).\n
\n
\n
\n

Sleva

\n
\n this.handleChange('materialDiscountThreshold', v)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n this.handleChange('materialDiscountRate', v / 100)}\n disabled={this.state.game.marketsEnabled}\n measure={\"%\"}\n />\n
\n
\n
\n
\n )\n }\n\n renderMaterialsTable() {\n const game = this.state.game;\n\n if (game.materials.length === 0) {\n return
Žádná surovina.
\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {game.materials.map((material, index) =>\n \n \n \n \n \n \n \n )}\n \n
Název surovinyNa skladě* (kg)Cena (Kč/kg)Volatilita ceny (%)
\n
\n \n this.updateMaterialProperty(index, 'name', v)}\n maxLength={20}\n className={'form-item mb-1'}\n />\n
\n
\n \n this.updateMaterialProperty(index, 'nameEn', v)}\n maxLength={20}\n className={'form-item mb-0'}\n />\n
\n
\n this.updateMaterialProperty(index, 'defaultStorage', v)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n \n this.updateMaterialProperty(index, 'defaultPrice', v)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n \n this.updateMaterialProperty(index, 'priceVolatility', Math.round(v) / 100)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n \n {this.state.isCreatingNewGame === false ? null :\n this.removeMaterial(index)}>\n close\n \n }\n
\n );\n }\n\n addMaterial() {\n const id = this.state.lastMaterialId + 1;\n\n let goods = this.state.game.goods.slice();\n goods.forEach(good => {\n let demands = good.materialDemands.slice();\n demands.push({\n materialId: id,\n count: 0\n });\n good.materialDemands = demands;\n });\n\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {\n lastMaterialId: {$set: id},\n game: {\n materials: {$push: [{\n \"id\": id,\n \"name\": \"\",\n \"defaultPrice\": 0,\n \"defaultStorage\": 0,\n \"priceVolatility\": 0.05\n }]},\n goods: {$set: goods}\n }\n }));\n }\n\n updateMaterialProperty(index, property, value) {\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {game: {materials: {[index]: { [property]: {$set: value}}}}}));\n }\n\n removeMaterial(index) {\n let goods = this.state.game.goods.slice();\n const id = this.state.game.materials[index].id;\n\n goods.forEach(good => {\n good.materialDemands = good.materialDemands.filter(demand => demand.materialId !== id);\n });\n\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state,\n {\n game: {\n materials: {$splice: [[index, 1]]},\n goods: {$set: goods}\n }\n }\n ));\n }\n\n renderFormGoods() {\n return (\n
\n
\n
\n

Obchodované výrobky

\n
\n
\n this.addGood()}\n disabled={this.state.isCreatingNewGame === false}\n >\n Přidat výrobek\n \n
\n
\n {this.renderGoodsTable()}\n
\n * Množství produktu na skladě je údaj vztažený k začátku 1. čtvrtletí 1. roku hry (neherního).\n
\n
\n )\n }\n\n addGood() {\n const id = this.state.lastGoodId + 1;\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {\n lastGoodId: {$set: id},\n game: {\n goods: {$push: [{\n id: id,\n name: \"\",\n minPrice: 0,\n maxPrice: 0,\n penalization: 0,\n defaultStorage: 0,\n storagePrice: 0,\n materialDemands: this.state.game.materials.map(material => ({\n materialId: material.id,\n count: 0\n })),\n demand: {\n \"culminationQuarterNumber\": 1,\n \"demandForMinPriceFirstQuarter\": 15000,\n \"demandForMaxPriceFirstQuarter\": 5000,\n \"quarterRiseCoefficient\": -1000,\n \"yearRiseCoefficient\": 2000\n }\n }]},\n productionEffectivity: {$push: [{\n goodId: id,\n effectivity: generateEffectivity(1)\n }]}\n }}));\n }\n\n updateGoodProperty(index, property, value) {\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {game: {goods: {[index]: { [property]: {$set: value}}}}}));\n }\n\n removeGood(index) {\n const id = this.state.game.goods[index].id;\n const effectivityIndex = this.state.game.productionEffectivity.findIndex(item => item.goodId === id);\n\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {game: {\n goods: {$splice: [[index, 1]]},\n productionEffectivity: {$splice: [[effectivityIndex, 1]]}\n }}));\n }\n\n renderGoodsTable() {\n const game = this.state.game;\n\n if (game.goods.length === 0) {\n return
Žádný výrobek.
\n }\n\n const variableHeaders = game.materials.map((material) => {material.name} spotřeba (kg));\n\n return (\n \n \n \n \n {variableHeaders}\n \n \n \n \n \n \n \n \n \n {game.goods.map((good, index) => {\n\n const variableColumns = game.materials.map(material => {\n const demand = good.materialDemands.find(demand => demand.materialId === material.id);\n const value = demand === undefined ? 0 : demand.count;\n return (\n \n )\n });\n\n return (\n \n \n {variableColumns}\n \n \n \n \n \n \n \n )\n }\n )}\n \n
Název výrobkuNa skladě* (ks)Min. cena (Kč)Max. cena (Kč)Cena skladování (Kč)Penalizace (Kč)
\n this.updateGoodMaterialDemand(index, material.id, v)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n
\n
\n \n this.updateGoodProperty(index, 'name', v)}\n maxLength={20}\n className={'form-item mb-1'}\n />\n
\n
\n \n this.updateGoodProperty(index, 'nameEn', v)}\n maxLength={20}\n className={'form-item mb-0'}\n />\n
\n
\n this.updateGoodProperty(index, 'defaultStorage', v)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n \n this.updateGoodProperty(index, 'minPrice', v)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n maxValue={good.maxPrice}\n />\n \n this.updateGoodProperty(index, 'maxPrice', v)}\n disabled={this.state.game.marketsEnabled}\n minValue={good.minPrice + 2}\n />\n \n this.updateGoodProperty(index, 'storagePrice', v)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n \n this.updateGoodProperty(index, 'penalization', v)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n \n {this.state.isCreatingNewGame === false ? null :\n this.removeGood(index)}>\n close\n \n }\n
\n );\n }\n\n updateGoodMaterialDemand(goodIndex, materialId, value) {\n const demands = this.state.game.goods[goodIndex].materialDemands;\n demands.find(demand => demand.materialId === materialId).count = value;\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {game: {goods: {[goodIndex]: {materialDemands: {$set: demands}}}}}));\n }\n\n /* DEMAND */\n renderFormDemand() {\n return (\n
\n

Generování poptávky po výrobcích

\n {this.renderDemandTable()}\n
\n * Změna přednastavených hodnot může mít závažné následky v průběhu hry. Poptávka může být příliš\n vysoká/neuspokojitelná, nebo naopak příliš nízká. Doporučujeme nechat tyto hodnoty tak, jak jsou.\n Bezpečná je pouze volba čtvrtletí, ve kterém má vrcholit poptávka.\n
\n
\n )\n }\n\n renderDemandTable() {\n const game = this.state.game;\n\n if (game.goods.length === 0) {\n return
Žádné produkty k zobrazení, nejprve přidejte výrobky.
\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {game.goods.map((good, goodIndex) => {\n const demand = good.demand;\n return (\n \n \n \n \n \n \n \n \n )\n })}\n \n
Název výrobkuPoptávka při min. ceně*Poptávka při max. ceně*Přírustek za čtvrtletí*Vrchol poptávky ve čtvrtletíRoční přírustek*
{good.name}\n this.updateDemand(goodIndex, 'demandForMinPriceFirstQuarter', val)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n \n this.updateDemand(goodIndex, 'demandForMaxPriceFirstQuarter', val)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n \n this.updateDemand(goodIndex, 'quarterRiseCoefficient', val)}\n disabled={this.state.game.marketsEnabled}\n />\n \n this.updateDemand(goodIndex, 'culminationQuarterNumber', val)}\n disabled={this.state.game.marketsEnabled}\n />\n \n this.updateDemand(goodIndex, 'yearRiseCoefficient', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n )\n }\n\n updateDemand(goodIndex, attr, value) {\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {game: {\n goods: {[goodIndex]: {demand: { [attr]: { $set: value}}}}}}));\n }\n\n\n /* MACHINE TIME */\n\n renderFormMachineTime() {\n return (\n
\n

Strojový čas nutný na výrobu

\n {this.renderMachinesTimeTable()}\n
\n )\n }\n\n renderMachinesTimeTable() {\n const game = this.state.game;\n\n if (game.goods.length === 0) {\n return
Žádné produkty k zobrazení, nejprve přidejte výrobky.
\n }\n\n const times = [0, 250, 500, 750, 1000, 1250, 1500];\n\n return (\n \n \n \n \n {times.map(time => )}\n \n \n \n {times.map(time => [\n ,\n \n ])}\n \n \n \n \n {game.productionEffectivity.map((goodEffectivity, index) => {\n const good = game.goods.find(good => good.id === goodEffectivity.goodId);\n return (\n \n \n {goodEffectivity.effectivity.map((effectivity, index2) => ([\n ,\n \n ]))}\n \n \n )\n })}\n \n
Délka výroby{time} hodin
KusůLidí
{good.name}\n this.updateProductionEffectivity(index, index2, 'goods', v)}\n disabled={this.state.game.marketsEnabled}\n minValue={0}\n />\n \n this.updateProductionEffectivity(index, index2, 'people', v)}\n disabled={this.state.game.marketsEnabled}\n min={0}\n />\n \n {this.state.game.marketsEnabled ? null :\n
\n {\n let copy = this.state.machineTimeMenus.slice();\n copy[good.id] = !copy[good.id];\n this.props.madeChangesWithoutSaving();\n this.setState({machineTimeMenus: copy});\n }}>more_vert\n \n this.generateMachineTimeEffectivity(good.id, EffectivityLevel.high)}>Generovat vysokou náročnost\n this.generateMachineTimeEffectivity(good.id, EffectivityLevel.low)}>Generovat nízkou náročnost\n
\n \n }\n
\n )\n }\n\n updateProductionEffectivity(goodIndex, timeIndex, attr, value) {\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {game: {\n productionEffectivity: {[goodIndex]: {effectivity: { [timeIndex]: { [attr]: {$set: value}}}}}}}));\n }\n\n generateMachineTimeEffectivity(goodId, hardness) {\n const index = this.state.game.productionEffectivity.findIndex(item => item.goodId === goodId);\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {\n machineTimeMenus: {\n $toggle: [goodId]\n },\n game: {\n productionEffectivity: {\n [index]: {\n effectivity: {\n $set: generateEffectivity(hardness)\n }\n }\n }\n }\n }\n ));\n }\n\n renderFormOthers() {\n const game = this.state.game;\n\n return (\n
\n\n

Omezení

\n
\n
\n this.handleChange('maxEmployees', v)}/>\n
\n
\n this.handleChange('maxPlayersInCompany', v)}/>\n
\n
\n this.handleChange('maxMachineCount', val)}\n />\n
\n
\n
\n
\n this.handleChange('automaticLoan', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n this.handleChange('hoursForLoanRequirement', v)}/>\n
\n
\n\n

Ceny průzkumů

\n
\n
\n this.handleSurveyPriceChange('marketPotential', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n this.handleSurveyPriceChange('concurrencyPrices', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n this.handleSurveyPriceChange('concurrencySoldGoods', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n this.handleSurveyPriceChange('materialPrices', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n this.handleSurveyPriceChange('discountRate', val / 100)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n\n

Výchozí hodnoty na začátku hry*

\n
\n
\n this.handleChange('defaultCash', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n this.handleChange('defaultMachineCount', val)}\n disabled={this.state.gameHasStarted} // machines cannot be changed after initialization during switch to first game quarter\n />\n
\n
\n this.handleChange('defaultStockPrice', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n
\n
\n this.handleChange('defaultEmployeeCount', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n this.handleChange('defaultSalary', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n this.handleChange('defaultEducation', val)}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n\n

Hodnocení

\n
\n
\n this.handleChange('profitabilityStandard', v)}\n measure={'Kč'}\n disabled={this.state.game.marketsEnabled}\n />\n
\n
\n\n
\n * Výchozími hodnotami jsou hodnoty na začátku 1. čtvrtletí 1. roku hry (neherního).\n
\n\n
\n ** Množstevní sleva na průzkumy se aplikuje tak, že průzkum pro první kvartál je za plnou cenu, druhý s danou slevou,\n třetí s dvojnásobkem dané slevy atd. Např. 25000+(25000*0.9)+(25000*0.8).\n Tato sleva je aplikována na průzkumy tržního potenciálu a průzkumy cen surovin. Sleva je aplikována celkově za všechny produkty. Sleva je\n aplikována zvlášt pro průzkumy různého typu.\n
\n\n
\n *** Pokud je položka Automatický úvěr nastavena na \"ne\" nebo pokud měla firma v předchozím kole překlenovací\n úvěr, pak je nutné schválit žádost o investiční úvěr učitelem. V takovém případě slouží Rezerva pro schválení úvěru jako\n ochranná doba pro učitele, aby stihl žádost přezkoumat a vydat rozhodnutí. Jedná se o počet hodin před koncem kola, kdy již student nemůže žádost podávat.\n Pokud se učitel nevyjádří, je žádost automaticky schválena na konci čtvrtletí (i pokud je vypnutá možnost \"Automatický úvěr\").\n

\n V ostatních případech může student podávat žádost až do poslední chvíle a žádost je schválena automaticky na konci kola.\n
\n\n
\n )\n }\n\n handleSurveyPriceChange(key, val) {\n this.props.madeChangesWithoutSaving();\n this.setState(update(this.state, {\n game: {\n surveyPrices: {\n [key]: {$set: val}\n }\n }\n }));\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const gameError = state.errors.find(error => error.id === 'POST-' + Schemas.TEACHER_GAME.key || error.id === 'PUT-' + Schemas.TEACHER_GAME.key);\n\n return {\n games: state.entities.teacherGames,\n gameDefaults: state.entities.teacherGameDefaults['first'],\n error: gameError,\n noUnsavedChanges: state.hasUnsavedChanges === false\n }\n};\nconst GameTranslated = withTranslation('translation')(Game)\nexport default withRouter(connect(mapStateToProps, {\n createTeacherGame,\n updateTeacherGame,\n showErrorMessage,\n resetErrorMessage,\n madeChangesWithoutSaving,\n savedAllChanges,\n loadTeacherGameDefaults\n})(GameTranslated))\n","import React from 'react'\nimport Loader from \"../../../../components/Loader\";\nimport PropTypes from 'prop-types'\nimport {sortSanitized, toArray} from \"../../../../services/utils\";\nimport Modal from 'react-modal';\nimport {Schemas} from \"../../../../middleware/sync/schema\";\nimport SelectSeminar from \"../../../../components/SelectSeminar\";\nimport update from \"immutability-helper\";\nimport {\n addNewTeacherCompany, deleteTeacherCompany,\n searchUsers,\n updateTeacherCompany, updateTeacherUser\n} from \"../../../../actions/sync-modules\";\nimport {withRouter} from \"react-router-dom\";\nimport connect from \"react-redux/es/connect/connect\";\nimport {removeErrorMessageById} from \"../../../../actions/errors\";\nimport {deleteEntityData} from \"../../../../actions/entities\";\nimport {existsServerError} from \"../../../../services/errors\";\nimport Tooltip from 'react-tooltip-lite';\nimport config from \"../../../../config\";\n\nclass Companies extends React.Component {\n\n static propTypes = {\n game: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n addNewCompany: false,\n selectUser: false,\n selectUserToCompany: null,\n searchQuery: '',\n isSearching: false,\n hasSearched: false,\n };\n }\n\n render() {\n const companyCount = toArray(this.props.teacherCompanies).length;\n const studentCount = toArray(this.props.teacherUsers).length;\n const studentWithoutCompanyCount = toArray(this.props.teacherUsers).filter(u => u.companyId === null).length;\n\n return (\n
\n
\n
\n
\n

Přehled firem

\n
\n
\n { this.props.game.marketsEnabled === false && (\n this.setState({addNewCompany: true})}\n disabled={this.state.isAddingNewCompany === true || this.state.addNewCompany === true}\n >Nová firma\n )}\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n {this.renderNewCompany()}\n {this.renderTableRows()}\n \n
Název firmyCvičeníStudenti ve firměRežim firmy
\n
\n Ve hře je registrováno {companyCount} firem a {studentCount} {studentCount < 5 ? \"studenti\" : \"studentů\"}.\n
\n {studentWithoutCompanyCount > 0 &&\n
\n {studentWithoutCompanyCount} studentů není v žádné firmě!\n
\n }\n
\n
\n {this.renderModalWindow()}\n
\n )\n }\n\n renderTableRows() {\n const sortedCompanies = sortSanitized(toArray(this.props.teacherCompanies), 'name');\n\n return sortedCompanies.map(company => {\n const students = toArray(this.props.teacherUsers).filter(user => user.companyId === company.id);\n return (\n \n \n this.updateTeacherCompany(this.props.game.id, company.id, {name: e.target.value, seminarId: company.seminarId})}\n maxLength={config.maxCompanyNameLength}\n />
\n Zakladatel: {company.ownerName}\n \n \n this.updateTeacherCompany(this.props.game.id, company.id, {name: company.name, seminarId: value})}\n />\n \n \n {this.renderUserChips(students, company)}\n \n \n {this.renderCompanyMode(students, company)}\n \n \n {this.renderDeleteCompanyButton(company)}\n \n \n );\n });\n }\n\n renderDeleteCompanyButton(company) {\n if (this.props.game.marketsEnabled) {\n return null;\n } else {\n return
\n \n {\n if(window.confirm(\"Opravdu SMAZAT firmu \" + company.name + \"? Tato akce nelze vrátit!\")) {\n this.props.deleteTeacherCompany(this.props.game.id, company.id);\n }\n }}>delete_outline\n \n
\n }\n }\n\n updateTeacherCompany(gameId, companyId, data) {\n this.props.removeErrorMessageById('PUT-' + Schemas.TEACHER_COMPANY);\n this.props.updateTeacherCompany(gameId, companyId, data);\n }\n\n renderUserChips(students, company) {\n let results = students.map(student => {\n return (\n \n {student.name}\n this.removeUserCompany(student)\n }>close\n \n )\n });\n\n if (company.mode === \"manual\") {\n results.push( {\n this.props.deleteEntityData(Schemas.TEACHER_SEARCH_USER.key);\n this.setState({selectUser: true, selectUserToCompany: company});\n }}> );\n }\n\n return results;\n }\n\n renderCompanyMode(students, company) {\n const mode = company.mode || 'manual';\n const isDisabled = students.length > 0;\n const disabledClassName = isDisabled ? 'disabled' : '';\n return (\n {\n if (isDisabled === false) {\n this.toggleCompanyMode(company);\n }\n }}\n > \n );\n }\n\n toggleCompanyMode(company) {\n const newMode = company.mode === \"automatic\" ? \"manual\" : \"automatic\";\n this.updateTeacherCompany(this.props.game.id, company.id, {\n \"mode\": newMode\n });\n }\n\n renderNewCompany() {\n if (this.state.addNewCompany) {\n return \n \n { if (e.key === 'Enter') this.addNewCompany(); }}\n onChange={(e) => this.setState({ newCompanyName: e.target.value})}\n autoFocus={true}\n maxLength={config.maxCompanyNameLength}\n />\n \n \n this.setState({ newCompanySeminarId: value})}\n />\n \n \n this.addNewCompany()}\n disabled={!this.state.newCompanyName || !this.state.newCompanySeminarId}\n >Vytvořit firmu\n this.setState({addNewCompany: false})}\n >Zrušit\n \n \n\n } else if (this.state.isAddingNewCompany) {\n return \n }\n }\n\n addNewCompany() {\n if (!this.state.newCompanyName || !this.state.newCompanySeminarId) { return; }\n\n this.props.removeErrorMessageById('POST-' + Schemas.TEACHER_COMPANY.key);\n\n this.setState({addNewCompany: false, isAddingNewCompany: true}, () => {\n this.props.addNewTeacherCompany(this.props.game.id, this.state.newCompanyName, this.state.newCompanySeminarId, () => {\n if (this.props.existsCompanyCreateError === false) {\n this.setState({isAddingNewCompany: false,newCompanyName: null, newCompanySeminarId: null});\n } else {\n this.setState({isAddingNewCompany: false, addNewCompany: true});\n }\n });\n });\n }\n\n renderModalWindow() {\n const companyId = this.state.selectUserToCompany !== null ? this.state.selectUserToCompany.id : '';\n const companyName = this.state.selectUserToCompany !== null ? this.state.selectUserToCompany.name : '';\n\n Modal.setAppElement('#root');\n\n return (\n \n
\n \n

Zvolte uživatele pro přidání do firmy {companyName}

\n
\n
\n
\n
Po přidání do firmy bude uživatel automaticky registrován do této hry. Pokud již je uživatel v jiné hře nebo firmě, je neprve automaticky odebrán.
\n {this.renderUserSearch(companyId)}\n {this.renderUsersInCurrentGame(companyId)}\n
\n \n )\n }\n\n renderUsersInCurrentGame(companyId) {\n const usersInGame = toArray(this.props.teacherUsers).filter(user => user.companyId !== companyId);\n\n return
\n
Uživatelé registrovaní do této hry
\n
    {(usersInGame.length === 0) ?
    Žádní uživatelé.
    :\n sortSanitized(usersInGame, 'name').map(user => {\n return this.changeUserCompany(user)}\n >\n {user.name}\n \n })\n }
\n
\n }\n\n renderUserSearch(companyId) {\n const searchedUsers = toArray(this.props.teacherSearchUsers).filter(user => user.gameId !== this.props.game.id || user.companyId !== companyId);\n\n return
\n {\n this.searchUsers();\n e.preventDefault();\n }}\n className={'form-inline mb-3'}\n >\n this.setState({searchQuery: e.target.value})}\n placeholder={'Jméno nebo login...'}\n className={'mr-3'}\n maxLength={config.maxString}\n />\n \n \n {this.renderSearchResults(searchedUsers)}\n
\n }\n\n searchUsers() {\n const encodedQuery = encodeURIComponent(this.state.searchQuery.trim());\n if (encodedQuery !== \"\") {\n this.setState({isSearching: true, hasSearched: true}, () => {\n this.props.searchUsers(encodedQuery, () => {\n this.setState({isSearching: false});\n });\n });\n }\n }\n\n renderSearchResults(searchedUsers) {\n if (this.state.isSearching) {\n return
\n } else {\n return
    \n {searchedUsers.length === 0 && this.state.hasSearched ?
    Žádní uživatelé.
    :\n sortSanitized(searchedUsers, 'name').map(user => {\n const game = this.props.games[user.gameId];\n const gameName = game !== undefined ? game.name : 'není v žádné hře';\n return this.changeUserCompany(user)}\n >\n {user.name} ({gameName})\n \n })\n }\n
;\n }\n }\n\n changeUserCompany(user) {\n const company = this.state.selectUserToCompany;\n this.setState({selectUser: false});\n this.props.updateTeacherUser(user, update(user, {\n gameId: {$set: this.props.game.id},\n companyId: {$set: company.id}\n }));\n }\n\n removeUserCompany(user) {\n this.props.updateTeacherUser(user, {companyId: null});\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n games: state.entities.teacherGames,\n teacherCompanies: state.entities.teacherCompanies,\n teacherMarkets: state.entities.teacherMarkets,\n teacherUsers: state.entities.teacherUsers,\n teacherSearchUsers: state.entities.teacherSearchUsers,\n didDownloadSearchResults: state.downloadedEntities.teacherSearchUsers,\n existsCompanyCreateError: existsServerError(state.errors, 'post', Schemas.TEACHER_COMPANY),\n }\n};\n\nconst mapDispatchToProps = {\n addNewTeacherCompany,\n updateTeacherCompany,\n updateTeacherUser,\n deleteTeacherCompany,\n removeErrorMessageById,\n searchUsers,\n deleteEntityData\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Companies))\n","import React from 'react'\nimport Loader from \"../../../../components/Loader\";\nimport PropTypes from 'prop-types'\nimport {formatNumber} from \"../../../../services/utils\";\nimport {regenerateRandomness} from \"../../../../actions/sync-modules\";\nimport {withRouter} from \"react-router-dom\";\nimport connect from \"react-redux/es/connect/connect\";\n\nclass MarketDemand extends React.Component {\n\n static propTypes = {\n game: PropTypes.object.isRequired,\n market: PropTypes.object.isRequired,\n companyCount: PropTypes.number.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isGenerating: false\n };\n }\n\n render() {\n if (this.state.isGenerating || this.props.didDownloadData === false) {\n return this.renderLoader();\n } else {\n return this.renderDemand();\n }\n }\n\n renderDemand() {\n const estimation = this.props.teacherRandomness[this.props.market.id];\n const machineCount = estimation !== undefined ? estimation.estimatedMachineCountInLastQuarter : 0;\n const machineCountForOneCompany = machineCount / this.props.companyCount;\n return \n
\n \n Potřeba strojů*: {formatNumber(machineCountForOneCompany)}\n \n
\n \n \n }\n\n renderLoader() {\n return \n \n \n }\n\n generateNewRandomNumbers() {\n this.setState({isGenerating: true}, () => {\n this.props.regenerateRandomness(this.props.game.id, this.props.market.id, () => {\n this.setState({isGenerating: false});\n });\n });\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n teacherRandomness: state.entities.teacherRandomness,\n didDownloadData: state.downloadedEntities.teacherRandomness === true,\n }\n};\n\nconst mapDispatchToProps = {\n regenerateRandomness\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MarketDemand))\n","import React from 'react'\nimport Loader from \"../../../../components/Loader\";\nimport PropTypes from 'prop-types'\nimport {toArray} from \"../../../../services/utils\";\nimport Modal from 'react-modal';\nimport MarketDemand from \"./MarketDemand\";\nimport {\n addNewMarket,\n deleteTeacherMarket, loadMarketsRandomness,\n updateTeacherCompany, updateTeacherGame, updateTeacherMarket\n} from \"../../../../actions/sync-modules\";\nimport {withRouter} from \"react-router-dom\";\nimport connect from \"react-redux/es/connect/connect\";\nimport Tooltip from 'react-tooltip-lite';\nimport {isRegistrationPeriod} from \"../../../../services/quarter\";\nimport config from \"../../../../config\";\n\nclass Markets extends React.Component {\n\n static propTypes = {\n game: PropTypes.object.isRequired\n };\n\n constructor(props) {\n super(props);\n\n this.defaultNewMarketName = \"Market \";\n\n this.state = {\n addNewMarket: false,\n newMarketName: this.defaultNewMarketName,\n selectCompany: false,\n selectCompanyTargetMarket: null,\n isChangingEditingMode: false,\n showNoAutomaticCompanyMoreInfo: false,\n\n };\n\n this.props.loadMarketsRandomness(this.props.game.id);\n }\n\n render() {\n return (\n
\n
\n {this.state.isChangingEditingMode ?\n
\n :\n this.renderContent()\n }\n
\n {this.renderModalWindow()}\n
\n )\n }\n\n renderContent() {\n return
\n
\n
\n {this.renderEditModeWarning()}\n
\n
\n

Přehled trhů

\n
\n
\n {this.renderAddMarketButton()}\n
\n
\n
\n {this.renderNoAutomaticCompanyWarning()}\n \n \n \n \n \n \n \n \n \n \n {this.renderNewMarket()}\n {this.renderTableRows()}\n \n
Název trhuFirmy na trhuPoptávka
\n
\n
\n }\n\n renderAddMarketButton() {\n if (this.props.game.marketsEnabled === false) {\n return (\n this.setState({addNewMarket: true})}\n disabled={this.state.addNewMarket === true || this.state.isAddingNewMarket === true}\n >Nový trh\n );\n } else {\n return null;\n }\n }\n\n disableEditing() {\n if (isRegistrationPeriod(this.props.game)) {\n return alert(\"Nelze ukončit editaci trhů, dokud probíhají registrace.\");\n }\n\n if (this.existsCompanyWithoutMarket()) {\n return alert(\"Nelze ukončit editaci trhů, protože existuje firma nepřiřazená na trh.\");\n }\n\n if (this.existsMarketWithoutCompany()) {\n return alert(\"Nelze ukončit editaci trhů, protože existuje trh bez firmy.\");\n }\n\n const confirmed = window.confirm(\"POZOR!!! Ukončení editace trhů je nevratná akce. Poté již NENÍ možné vytvářet trhy, mazat trhy, přesouvat firmy mezi trhy, odebírat firmy z trhů ani přidávat nové firmy na trhy!\\n\\nPřed potvrzením si prosím zkontrolujte, že jsou trhy správně vytvořeny a že na všech trzích je správný počet a složení firem.\");\n\n if (confirmed) {\n this.setState({isChangingEditingMode: true, addNewMarket: false});\n this.props.updateTeacherGame(this.props.game.id, {marketsEnabled: true}, () => {\n this.setState({isChangingEditingMode: false});\n });\n }\n }\n\n renderEditModeWarning() {\n if (this.props.game.marketsEnabled === false) {\n return
\n info\n Hra začne, jakmile ukončíte editaci trhů. Do té doby není nic pro studenty přístupné.\n \n
\n } else {\n return null;\n }\n }\n\n renderTableRows() {\n return toArray(this.props.teacherMarkets).map(market => {\n const companies = this.getCompaniesOnMarket(market);\n return (\n \n \n this.props.updateTeacherMarket(this.state.gameId, market.id, {name: e.target.value})}\n maxLength={config.maxCompanyNameLength}\n />\n \n \n {this.renderCompanyChips(market, companies)}\n \n \n \n {this.renderDeleteMarket(market)}\n \n \n );\n });\n }\n\n getCompaniesOnMarket(market) {\n return toArray(this.props.teacherCompanies).filter(company => company.marketId === market.id);\n }\n\n renderDeleteMarket(market) {\n if (this.props.game.marketsEnabled === false) {\n return
\n \n {\n if (window.confirm(\"Opravdu SMAZAT trh \" + market.name + \"? Tato akce nelze vrátit!\")) {\n this.props.deleteTeacherMarket(this.props.game.id, market.id);\n }\n }}>delete_outline\n \n
;\n } else {\n return null;\n }\n }\n\n renderCompanyChips(market, companies) {\n let results = companies.map(company => {\n return (\n \n \n {company.name}\n
\n {this.findSeminarName(company)}\n
\n {this.props.game.marketsEnabled ? null :\n this.removeCompanyFromMarket(company)\n }>close}\n \n )\n });\n\n if (this.props.game.marketsEnabled === false) {\n results.push( this.setState({selectCompany: true, selectCompanyTargetMarket: market})}\n > );\n }\n\n if (companies.length !== 5) {\n results.push(
Na trhu není 5 firem.
);\n }\n\n return results;\n }\n\n renderNewMarket() {\n if (this.state.addNewMarket) {\n return \n \n {\n if (e.key === 'Enter') this.addNewMarket();\n }}\n onChange={(e) => this.setState({newMarketName: e.target.value})}\n autoFocus={true}\n maxLength={config.maxCompanyNameLength}\n />\n this.addNewMarket()}\n >Vytvořit trh\n \n this.setState({addNewMarket: false})}\n >Zrušit\n \n \n \n\n } else if (this.state.isAddingNewMarket) {\n return \n \n \n }\n }\n\n addNewMarket() {\n const name = this.state.newMarketName;\n this.setState({\n addNewMarket: false,\n isAddingNewMarket: true,\n newMarketName: this.defaultNewMarketName\n }, () => {\n this.props.addNewMarket(this.props.game.id, name, result => {\n this.setState({isAddingNewMarket: false});\n this.props.loadMarketsRandomness(this.props.game.id);\n });\n });\n }\n\n renderModalWindow() {\n const marketName = this.state.selectCompanyTargetMarket !== null ? this.state.selectCompanyTargetMarket.name : '';\n\n Modal.setAppElement('#root');\n\n return (\n \n
\n \n

Zvolte firmu pro přidání na {marketName}

\n
\n
\n
\n
    \n {toArray(this.props.teacherCompanies)\n .filter(company => company.marketId === null)\n .sort((a, b) => a.seminarId - b.seminarId)\n .map(company => (\n this.updateCompanyMarket(company)}\n >\n {company.name} ({this.findSeminarName(company)})\n \n ))\n }\n
\n
\n \n )\n }\n\n findSeminarName(company) {\n const seminar = this.props.game.seminars.find(i => i.id === company.seminarId);\n return (seminar === undefined) ? '' : seminar.name;\n }\n\n updateCompanyMarket(company) {\n const market = this.state.selectCompanyTargetMarket;\n this.setState({selectCompany: false});\n this.props.updateTeacherCompany(this.props.game.id, company.id, {\n \"marketId\": market.id\n });\n }\n\n removeCompanyFromMarket(company) {\n this.props.updateTeacherCompany(this.props.game.id, company.id, {\n \"marketId\": null\n });\n }\n\n renderNoAutomaticCompanyWarning() {\n let existsAutomaticCompany = false;\n\n toArray(this.props.teacherMarkets).forEach(market => {\n this.getCompaniesOnMarket(market).forEach(company => {\n if (company.mode === \"automatic\") {\n existsAutomaticCompany = true;\n }\n })\n });\n\n if (existsAutomaticCompany || this.props.game.marketsEnabled) {\n return null;\n } else {\n return (\n
\n info\n Ve hře není žádný trh s automatickou firmou! \n {\n this.state.showNoAutomaticCompanyMoreInfo ?\n \n To je problém, protože po ukončení editace trhů již není možné přesouvat firmy mezi trhy.\n Takové přesuny firem by změnily hodnoty pro předchozí kvartály a to nechceme.\n Je však možné kdykoliv přesouvat studenty mezi firmami. Je proto vhodné mít na trhu rezervní automatické firmy, aby bylo možné i během hry provádět\n přesuny studentů. Např. studenta flákače je možné vyčlenit z fungující firmy a přesunout ho do rezervní automatické firmy,\n která je poté přepnuta na manuální. Takové rezervní firmy tedy umožní provádět určité změny i během hry.\n \n :\n {\n this.setState({showNoAutomaticCompanyMoreInfo: true});\n e.preventDefault();\n }}>více info »\n }\n
\n );\n }\n }\n\n existsCompanyWithoutMarket() {\n let existsCompanyWithoutMarket = false;\n\n toArray(this.props.teacherCompanies).forEach(company => {\n if (company.marketId === null) {\n existsCompanyWithoutMarket = true;\n }\n });\n\n return existsCompanyWithoutMarket;\n }\n\n existsMarketWithoutCompany() {\n let existsMarketWithoutCompany = false;\n\n toArray(this.props.teacherMarkets).forEach(market => {\n if (this.getCompaniesOnMarket(market).length === 0) {\n existsMarketWithoutCompany = true;\n }\n });\n\n return existsMarketWithoutCompany;\n }\n}\n\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n games: state.entities.teacherGames,\n teacherCompanies: state.entities.teacherCompanies,\n teacherMarkets: state.entities.teacherMarkets\n }\n};\n\nconst mapDispatchToProps = {\n addNewMarket,\n updateTeacherCompany,\n deleteTeacherMarket,\n loadMarketsRandomness,\n updateTeacherGame,\n updateTeacherMarket\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Markets))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport {\n loadTeacherCompanies,\n loadTeacherGameUsers,\n loadTeacherMarkets\n} from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport Companies from \"./Companies\";\nimport Markets from \"./Markets\";\nimport {quarterNameFor} from \"../../../../services/quarter\";\n\nclass MarketsAndCompanies extends Component {\n\n constructor(props) {\n super(props);\n\n const gameId = this.props.match.params.gameId;\n\n this.state = {\n game: props.games[gameId]\n };\n\n this.props.loadTeacherCompanies(gameId);\n this.props.loadTeacherMarkets(gameId);\n this.props.loadTeacherGameUsers(gameId);\n }\n\n static getDerivedStateFromProps(props, state) {\n const gameId = props.match.params.gameId;\n return {\n game: props.games[gameId]\n };\n }\n\n render() {\n if (this.state.game === undefined) {\n return \n } else if (!this.props.didDownloadData) {\n return \n } else {\n return
\n \n \n {this.renderMachineEstimationInfo()}\n
\n }\n }\n\n renderMachineEstimationInfo() {\n const lastQuarter = this.state.game.gameYearCount * 4;\n const quarterName = quarterNameFor(this.state.game, lastQuarter);\n\n return
\n * Počet strojů, které potřebuje jedna firma, aby uspokojila poptávku při maximální ceně za situace, kdy všechny firmy na trhu prodávají za maximální cenu.\n Jedná se o údaj vztažený k poslednímu čtvrtletí hry ({quarterName}) pro aktuální počet firem na trhu.\n Údaj slouží pro ověření vygenerované poptávky a posouzení jejího vlivu na náročnost hry.\n
\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n games: state.entities.teacherGames,\n didDownloadData: state.downloadedEntities.teacherMarkets && state.downloadedEntities.teacherUsers && state.downloadedEntities.teacherCompanies\n }\n};\n\nconst mapDispatchToProps = {\n loadTeacherCompanies,\n loadTeacherMarkets,\n loadTeacherGameUsers\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MarketsAndCompanies))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {Link, Redirect, withRouter} from 'react-router-dom'\nimport {\n loadLoanRequirements,\n updateLoanRequirement\n} from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport {currentQuarter, quarterNameFor} from \"../../../../services/quarter\";\nimport {dateFromUnixTimestamp, formatDateTime, formatNumber, sequenceMap, toArray} from \"../../../../services/utils\";\nimport RemainingTimeProgressBar from \"../../../../components/RemainingTimeProgressBar\";\nimport config from \"../../../../config\";\nimport moment from \"moment\";\n\nclass LoanRequirements extends Component {\n\n constructor(props) {\n super(props);\n\n const gameId = this.props.match.params.gameId;\n const game = props.games[gameId];\n\n this.state = {\n game: game,\n currentQuarter: currentQuarter(game)\n };\n\n this.props.loadLoanRequirements(gameId);\n }\n\n static getDerivedStateFromProps(props, state) {\n let arr = toArray(props.loanRequirements);\n const requirementsGroupedByQuarter = {};\n\n arr.forEach(i => {\n const quarter = state.game.quarters.find(q => q.id === i.quarterId);\n if (requirementsGroupedByQuarter[quarter.quarterNumber] === undefined) {\n requirementsGroupedByQuarter[quarter.quarterNumber] = [];\n }\n requirementsGroupedByQuarter[quarter.quarterNumber].push(i);\n });\n\n return {\n isInitialized: true,\n loanRequirements: requirementsGroupedByQuarter\n }\n }\n\n render() {\n if (this.state.game === undefined) {\n return \n }\n\n if (this.props.didDownloadedData !== true) {\n return \n } else {\n const lastQuarter = currentQuarter(this.state.game).quarterNumber;\n const firstQuarter = this.state.game.initialYear * 4 + 1;\n\n if (lastQuarter < firstQuarter) {\n return
\n
Žádné žádosti. Hra ještě nezačala.
\n
;\n }\n\n return (\n
\n {sequenceMap(lastQuarter, firstQuarter, quarterNumber => {\n return this.renderQuarter(quarterNumber);\n })}\n
\n )\n }\n }\n\n renderQuarter(quarterNumber) {\n const quarterRequirements = this.state.loanRequirements[quarterNumber];\n\n return (\n
\n
\n

Žádosti o úvěry pro {quarterNameFor(this.state.game, quarterNumber)}

\n
\n {this.renderRemainingHours(quarterNumber)}\n {this.renderLoansForQuarter(quarterNumber, quarterRequirements)}\n
\n
\n
\n )\n }\n\n renderLoansForQuarter(quarterNumber, quarterRequirements) {\n if (quarterRequirements === undefined || quarterRequirements.length === 0) {\n return \"Žádné žádosti v tomto čtvrtletí.\"\n }\n\n const sortedRequirements = quarterRequirements\n .sort((a, b) => a.acceptedByTeacher !== null && b.acceptedByTeacher === null ? -1 : 1);\n\n return
\n {sortedRequirements.map(requirement => {\n const timestamp = requirement.lastChange === null ? \"??\" : formatDateTime(dateFromUnixTimestamp(requirement.lastChange.datetime));\n\n return (\n
\n
\n
\n
\n
\n {requirement.companyName}\n Přehled firmy\n
\n Podáno: {timestamp}
\n Částka: {formatNumber(requirement.amount)} Kč
\n {this.renderDocument(requirement)}\n
\n
\n {this.renderButtons(quarterNumber, requirement)}\n
\n
\n
\n );\n })}\n
\n }\n\n renderDocument(requirement) {\n if (requirement.document === null) {\n return 'Žádná příloha.';\n } else {\n return Stáhnout přílohu\n }\n }\n\n renderRemainingHours(quarterNumber) {\n if (quarterNumber !== this.state.currentQuarter.quarterNumber) {\n return null;\n } else {\n return (\n
\n
\n \n
\n
\n )\n }\n }\n\n renderButtons(quarterNumber, requirement) {\n let result = [];\n\n if (requirement.accepted === true && requirement.acceptedByTeacher === null) {\n result.push(
Uděleno automaticky.
)\n\n } else if (requirement.acceptedByTeacher === true) {\n result.push(
Uděleno ({this.renderLastChange(requirement)})
)\n\n } else if (requirement.acceptedByTeacher === false) {\n result.push(
Zamítnuto ({this.renderLastChange(requirement)})
)\n\n } else if (quarterNumber === this.state.currentQuarter.quarterNumber) {\n result.push( this.handleChange(requirement, true)}>\n Udělit);\n result.push( this.handleChange(requirement, false)}>\n Zamítnout\n );\n\n } else {\n result.push(
Vypršelo období pro schválení žádosti. Bude automaticky schválena.
)\n }\n\n return result;\n }\n\n renderLastChange(requirement) {\n if (requirement.lastChange != null && requirement.accepted !== null) {\n return {requirement.lastChange.user} {formatDateTime(new Date(requirement.lastChange.datetime * 1000))}\n } else {\n return null;\n }\n }\n\n handleChange(requirement, acceptedByTeacher) {\n const changeName = acceptedByTeacher ? \"PŘIJMOUT\" : \"ODMÍTNOUT\";\n const confirmed = window.confirm(\"Opravdu \" + changeName + \" žádost firmy \" + requirement.companyName + \" o úvěr ve výši \" + requirement.amount + \"? Rozhodnutí není možné později změnit.\")\n\n if (confirmed) {\n const data = {\n 'acceptedByTeacher': acceptedByTeacher,\n 'lastChange': {\n 'datetime': moment().unix(),\n 'user': this.props.user\n }\n };\n this.props.updateLoanRequirement(this.state.game.id, requirement.id, data);\n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const user = state.entities.user['first'];\n\n return {\n user: user !== undefined ? user.name : \"\",\n games: state.entities.teacherGames,\n loanRequirements: state.entities.loanRequirements,\n didDownloadedData: state.downloadedEntities.loanRequirements\n }\n};\n\nconst mapDispatchToProps = {\n loadLoanRequirements,\n updateLoanRequirement\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(LoanRequirements))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { loadStockPrices } from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport {currentQuarter, quarterNameFor} from \"../../../../services/quarter\";\nimport {toArray} from \"../../../../services/utils\";\nimport {Redirect} from \"react-router-dom\";\n\nclass StockPrices extends Component {\n\n constructor(props) {\n super(props);\n\n const gameId = this.props.match.params.gameId;\n\n this.state = {\n game: props.games[gameId]\n };\n\n this.props.loadStockPrices(gameId);\n }\n\n render() {\n if (this.state.game === undefined) {\n return \n }\n\n const arr = toArray(this.props.stockPrices);\n\n if (!this.props.didDownloadData) {\n return \n\n } else if (arr.length === 0) {\n return
\n

\n
Žádná data.
\n
;\n\n } else {\n return (\n
\n {arr.map(item => this.renderMarket(item))}\n {this.renderLegend()}\n
\n )\n }\n }\n\n renderMarket(item) {\n const currentQuarterNumber = Math.max(0, currentQuarter(this.state.game).quarterNumber);\n const arrayLength = Math.max(0, currentQuarterNumber - 1);\n const quarters = Array.from(new Array(arrayLength), (x,i) => i + 1);\n\n return (\n
\n

Ceny akcií pro {item.name}

\n
\n \n \n \n \n {quarters.map(quarterNumber =>\n \n )}\n \n \n \n {this.renderCompaniesOnMarket(item, quarters)}\n \n
{quarterNameFor(this.state.game, quarterNumber)}
\n
\n
\n )\n }\n\n renderCompaniesOnMarket(market, quarters) {\n if (market.companies.length === 0) {\n return Žádné firmy na tomto trhu.\n } else {\n return market.companies.map(company => (\n \n {company.name}\n {quarters.map(quarterNumber => {\n const stockPrice = this.getStockPriceInQuarter(company, quarterNumber);\n const className = this.getStockPriceHighlight(stockPrice, market, company, quarterNumber);\n return this.renderCell(quarterNumber, stockPrice, className);\n })}\n \n ))\n }\n }\n\n renderCell(quarterNumber, stockPrice, className) {\n if (stockPrice === null) {\n return - \n } else {\n return \n
\n {Math.round(stockPrice)}\n
\n \n }\n }\n\n getStockPriceHighlight(stockPrice, market, company, quarterNumber) {\n const extremaInQuarter = this.getStockPriceExtremaInQuarter(market, quarterNumber);\n const previousQuarterPrice = this.getStockPriceInQuarter(company, quarterNumber - 1);\n let className = '';\n\n if (stockPrice === extremaInQuarter.max) {\n className += ' stock-circle stock-circle-green ';\n } else if (stockPrice === extremaInQuarter.min) {\n className += ' stock-circle stock-circle-red ';\n }\n\n if (previousQuarterPrice > stockPrice) {\n className += ' text-danger ';\n }\n\n return className;\n }\n\n getStockPriceExtremaInQuarter(market, quarterNumber) {\n let min = null;\n let max = null;\n\n market.companies.forEach(company => {\n const stockPrice = this.getStockPriceInQuarter(company, quarterNumber);\n\n if (max === null || stockPrice > max) {\n max = stockPrice;\n }\n\n if (min === null || stockPrice < min) {\n min = stockPrice;\n }\n });\n\n return {min: min, max: max}\n }\n\n getStockPriceInQuarter(company, quarterNumber) {\n const data = company.quarters.find(q => q.quarterNumber === quarterNumber);\n\n if (data === undefined) {\n return null;\n } else {\n return data.stockPrice;\n }\n }\n\n renderLegend() {\n return
\n
Legenda
\n
\n\n
\n
\n 90\n
\n
\n Zelený kroužek značí největší cenu akcie v daném kvartálu pro daný trh.\n
\n
\n\n
\n
\n 70\n
\n
\n Červený kroužek značí nejmenší cenu akcie v daném kvartálu pro daný trh.\n
\n
\n\n
\n
\n 60\n
\n
\n Červeným textem je znázorněn pokles ceny akcie dané firmy oproti předchozímu kvartálu.\n
\n
\n\n
\n
\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const stockPrices = state.entities.stockPrices;\n\n return {\n games: state.entities.teacherGames,\n stockPrices: stockPrices,\n didDownloadData: state.downloadedEntities.stockPrices\n }\n};\n\nconst mapDispatchToProps = {\n loadStockPrices\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(StockPrices))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {Link, Redirect, withRouter} from 'react-router-dom'\nimport Loader from '../../../../components/Loader'\nimport {loadTeacherCompanies, loadTeacherGameUsers, updateTeacherUser} from \"../../../../actions/sync-modules\";\nimport {sanitize, toArray} from \"../../../../services/utils\";\n\nclass Students extends Component {\n\n constructor(props) {\n super(props);\n\n const gameId = this.props.match.params.gameId;\n const game = props.games[gameId];\n\n this.state = {\n game: game\n };\n\n this.props.loadTeacherGameUsers(gameId);\n this.props.loadTeacherCompanies(gameId);\n }\n\n render() {\n if (this.state.game === undefined) {\n return \n } else if (this.props.didDownloadData !== true) {\n return \n } else {\n return this.renderContent();\n }\n }\n\n renderContent() {\n return
\n
\n

Studenti registrovaní do hry {this.state.game.name}

\n
\n
\n Zde je možné uživatele pouze odebírat. Pokud chcete přidat uživatele do hry, přidejte ho rovnou do firmy.\n
\n \n \n \n \n \n \n \n \n \n \n {this.renderTableRows()}\n \n
JménoLoginFirma
\n
\n
\n
;\n }\n\n renderTableRows() {\n const users = toArray(this.props.teacherUsers)\n .filter(i => i.gameId === this.state.game.id)\n .sort((a, b) => sanitize(a.name) < sanitize(b.name) ? -1 : 1);\n\n return users.map(user => (\n \n {user.name}\n {user.username}\n {this.findCompanyName(user.companyId)}\n this.removeUserFromGame(user)}\n >Odebrat ze hry\n \n ));\n }\n\n findCompanyName(companyId) {\n const companies = this.props.teacherCompanies;\n const company = companies[companyId];\n\n if (company !== undefined) {\n return company.name;\n } else {\n return \" - \";\n }\n }\n\n removeUserFromGame(user) {\n const confirmed = window.confirm(\"Opravdu chcete odebrat uživatele \" + user.name + \" ze hry \" + this.state.game.name + '?');\n if (confirmed) {\n this.props.updateTeacherUser(user, {companyId: null, gameId: null});\n }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n games: state.entities.teacherGames,\n teacherUsers: state.entities.teacherUsers,\n teacherCompanies: state.entities.teacherCompanies,\n didDownloadData: state.downloadedEntities.teacherUsers && state.downloadedEntities.teacherCompanies\n }\n};\n\nconst mapDispatchToProps = {\n loadTeacherCompanies,\n loadTeacherGameUsers,\n updateTeacherUser\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Students))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {Link, Redirect, withRouter} from 'react-router-dom'\nimport Loader from '../../../../components/Loader'\nimport {loadTeacherCompanies} from \"../../../../actions/sync-modules\";\nimport {sortSanitized, toArray} from \"../../../../services/utils\";\n\nclass Summaries extends Component {\n\n constructor(props) {\n super(props);\n\n const gameId = this.props.match.params.gameId;\n const game = props.games[gameId];\n\n this.state = {\n game: game\n };\n\n this.props.loadTeacherCompanies(gameId);\n }\n\n render() {\n if (this.state.game === undefined) {\n return \n } else if (this.props.didDownloadData !== true) {\n return \n } else {\n return this.renderContent();\n }\n }\n\n renderContent() {\n const sortedCompanies = sortSanitized(toArray(this.props.teacherCompanies), 'name');\n\n return
\n
\n

Interní přehledy firem

\n
\n \n \n {sortedCompanies.map(company => {\n return \n \n \n })}\n \n
\n {company.name}\n
\n
\n
\n
;\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n games: state.entities.teacherGames,\n teacherCompanies: state.entities.teacherCompanies,\n didDownloadData: state.downloadedEntities.teacherCompanies\n }\n};\n\nconst mapDispatchToProps = {\n loadTeacherCompanies\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Summaries))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {Link, Redirect, withRouter} from 'react-router-dom'\nimport Loader from '../../../../components/Loader'\nimport {\n loadTeacherCompanies,\n loadTeacherSummaries\n} from \"../../../../actions/sync-modules\";\nimport SummariesTable from \"../../../../components/SummariesTable\";\n\nclass CompanySummary extends Component {\n\n constructor(props) {\n super(props);\n\n const gameId = this.props.match.params.gameId;\n const companyId = this.props.match.params.companyId;\n\n this.state = {\n game: props.games[gameId],\n companyId: companyId\n };\n\n this.props.loadTeacherCompanies(gameId);\n this.props.loadTeacherSummaries(companyId);\n }\n\n render() {\n if (this.state.game === undefined) {\n return \n } else if (this.props.didDownloadData !== true) {\n return \n } else {\n return this.renderContent();\n }\n }\n\n renderContent() {\n return
\n
\n
\n « Zpět na firmy\n

\n {this.props.companies[this.state.companyId].name}\n

\n
\n
\n \n
\n
\n
;\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n games: state.entities.teacherGames,\n companies: state.entities.teacherCompanies,\n summaries: state.entities.summaries,\n didDownloadData: state.downloadedEntities['summaries'] && state.downloadedEntities['teacherCompanies']\n }\n};\n\nconst mapDispatchToProps = {\n loadTeacherCompanies,\n loadTeacherSummaries,\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(CompanySummary))\n","import React from 'react'\nimport {Link} from \"react-router-dom\";\nimport { withTranslation } from \"react-i18next\";\n\nclass NotFound extends React.Component {\n render() {\n return (\n
\n avatar\n

{this.props.t(\"notFound.header\")}

\n

{this.props.t(\"notFound.info\")}

\n {this.props.t(\"notFound.goToHomepage\")}\n
\n )\n }\n}\n\nexport default withTranslation('translation')(NotFound)\n","import React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter} from 'react-router-dom'\nimport Loader from '../../../../components/Loader'\nimport {quarterNameFor} from \"../../../../services/quarter\";\nimport {formatNumber} from \"../../../../services/utils\";\nimport {loadMarketSurveys} from \"../../../../actions/sync-modules\";\nimport { withTranslation } from \"react-i18next\";\n\nclass MarketSurvey extends Component {\n\n static propTypes = {\n\n };\n\n constructor(props) {\n super(props);\n\n this.props.loadMarketSurveys();\n }\n\n render() {\n return
\n {this.renderBoxes()}\n
\n }\n\n renderBoxes() {\n const { t } = this.props;\n return Object.keys(this.props.goods).map((key, index) => {\n const good = this.props.goods[key];\n\n const tableRows = () => {\n const marketSurvey = this.props.marketSurveys[good.id];\n\n if (marketSurvey === undefined || marketSurvey.quarters.length === 0)\n return {t(\"marketSurvey.nothingYet\")};\n\n marketSurvey.quarters.sort((a, b) => a.quarterNumber - b.quarterNumber);\n\n return marketSurvey.quarters.map((surveyForQuarter, i) => {\n return (\n \n {quarterNameFor(this.props.game, surveyForQuarter.quarterNumber)}\n {formatNumber(surveyForQuarter.price)}\n {formatNumber(surveyForQuarter.marketPotential)}\n \n )\n });\n };\n\n return (\n
\n
\n

{t(\"marketSurvey.marketSurvey\", \n {productName: localStorage.getItem(\"language\") == \"cs\"? good.name : good.nameEn})}

\n
\n \n \n \n \n \n \n \n \n \n {\n (Object.keys(this.props.marketSurveys).length === 0) ?\n \n :\n tableRows()\n }\n \n
{t(\"marketSurvey.quarter\")}{t(\"marketSurvey.price\")}{t(\"marketSurvey.marketPotential\")}
\n
\n
\n
\n );\n })\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n\n return {\n game: game,\n goods: game.goods,\n marketSurveys: state.entities.marketSurveys,\n }\n};\n\nconst mapDispatchToProps = {\n loadMarketSurveys\n};\n\nconst MarketSurveyTranslated = withTranslation('translation')(MarketSurvey)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MarketSurveyTranslated))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport update from 'immutability-helper'\n\nclass Checkboxes extends React.Component {\n\n static propTypes = {\n items: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n items: props.items,\n random: Math.random()\n };\n }\n\n render() {\n return this.props.items.map((item, index) => {\n const id = 'checkbox-' + this.state.random + '-' + item.key;\n return (\n
\n this.toggleCheckbox(index)}\n />\n \n
\n )\n });\n }\n\n toggleCheckbox(index) {\n this.setState(update(this.state, {items: {[index]: {$toggle: ['checked']}}}), () => {\n this.props.onChange(this.state.items);\n });\n }\n\n}\n\nexport default Checkboxes","import React from 'react'\nimport PropTypes from 'prop-types'\n\nclass Radioboxes extends React.Component {\n\n static propTypes = {\n items: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n items: props.items,\n random: Math.random()\n };\n }\n\n render() {\n return this.props.items.map((item, index) => {\n const id = 'radiobox-' + this.state.random + '-' + item.key;\n return (\n
\n this.selectItem(item)}\n />\n \n
\n )\n });\n }\n\n selectItem(item) {\n this.setState({selectedKey: item.key}, () => {\n this.props.onChange(this.state.selectedKey);\n });\n }\n\n}\n\nexport default Radioboxes","import React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter} from 'react-router-dom'\nimport {loadMarketSurveyRequirements, updateMarketSurveysRequirement} from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport {currentQuarter, hasGameEnded, quarterNameFor} from \"../../../../services/quarter\";\nimport LastChange from '../../../../components/LastChange'\nimport Checkboxes from \"../../../../components/Checkboxes\";\nimport NumberField from \"../../../../components/NumberField\";\nimport {formatNumber, toArray} from \"../../../../services/utils\";\nimport Radioboxes from \"../../../../components/Radioboxes\";\nimport { withTranslation } from \"react-i18next\";\n\nclass MarketSurveyRequirements extends Component {\n\n static propTypes = {\n\n };\n\n constructor(props) {\n super(props);\n\n this.props.loadMarketSurveyRequirements();\n }\n\n render() {\n return
\n {this.renderBoxes()}\n
\n }\n\n renderBoxes() {\n const { t } = this.props;\n const goods = toArray(this.props.goods);\n\n return goods.map((good, index) => {\n const marketSurveyRequirement = this.props.marketSurveyRequirements[good.id];\n\n return (\n
\n
\n

{t(\"marketSurveyRequirements.order\", {productName: localStorage.getItem(\"language\") == \"cs\"? good.name : good.nameEn})}

\n
\n
\n {\n (Object.keys(this.props.marketSurveyRequirements).length === 0) ?\n \n :\n
\n
{t(\"marketSurveyRequirements.targetTime\")}
\n {this.renderCheckboxes(good, marketSurveyRequirement)}\n\n
{t(\"marketSurveyRequirements.targetPrice\")}
\n {this.renderTargetPrice(good, marketSurveyRequirement)}\n\n {this.renderSurveyPrice(goods, index)}\n
\n }\n
\n
\n \n
\n
\n );\n });\n }\n\n renderCheckboxes(good, marketSurveyRequirement) {\n let quarters = [];\n\n for (let i = 1; i <= 4; i++) {\n const quarter = this.props.currentQuarter + i;\n quarters.push({\n title: quarterNameFor(this.props.game, quarter),\n key: quarter,\n checked: marketSurveyRequirement !== undefined && marketSurveyRequirement.quarterNumbers.includes(quarter)\n });\n }\n\n if (this.props.currentQuarter % 4 === 0) {\n return {\n const checkedQuarters = items.filter(item => item.checked).map(item => item.key);\n this.handleSelectedQuartersChange(good, marketSurveyRequirement, checkedQuarters);\n }}\n title={\"\"}\n />\n } else {\n quarters.unshift({\n title: this.props.t(\"marketSurveyRequirements.dontOrder\"),\n key: null,\n checked: marketSurveyRequirement === undefined || marketSurveyRequirement.quarterNumbers.length === 0\n });\n return {\n const checkedQuarters = item === null ? [] : [item];\n this.handleSelectedQuartersChange(good, marketSurveyRequirement, checkedQuarters);\n }}\n />\n }\n }\n\n renderTargetPrice(good, marketSurveyRequirement) {\n const { maxPrice, minPrice } = good;\n\n return this.handleTargetPriceChange(good, marketSurveyRequirement, price)}\n />\n }\n\n renderSurveyPrice(goods, goodIndex) {\n const itemPrice = this.props.marketPotentialSurveyPrice;\n const discountRate = this.props.discountRate;\n\n let previousGoodsSurveyCount = 0;\n for (let i = 0; i < goodIndex; i++) {\n previousGoodsSurveyCount += this.props.marketSurveyRequirements[goods[i].id].quarterNumbers.length;\n }\n\n const currentGoodSurveyCount = this.props.marketSurveyRequirements[goods[goodIndex].id].quarterNumbers.length;\n\n let coefficient = 0;\n for(let i = previousGoodsSurveyCount; i < (currentGoodSurveyCount + previousGoodsSurveyCount); i++) {\n const discount = i * discountRate; // every next item has 10% more discount: 1st 0%, 2nd 10%, 3rd 20% etc.\n coefficient += 1 - discount;\n }\n\n const finalPrice = itemPrice * coefficient;\n\n return (\n
\n {this.props.t(\"marketSurveyRequirements.surveyPrice\", {finalPrice: formatNumber(finalPrice)})}\n
\n )\n }\n\n handleSelectedQuartersChange(good, marketSurveyRequirement, items) {\n this.props.updateMarketSurveysRequirement(good.id, {\n quarterNumbers: items,\n price: marketSurveyRequirement.price\n });\n }\n\n handleTargetPriceChange(good, marketSurveyRequirement, price) {\n this.props.updateMarketSurveysRequirement(good.id, {\n quarterNumbers: marketSurveyRequirement.quarterNumbers,\n price: price\n });\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n\n return {\n game: game,\n goods: game.goods,\n currentQuarter: currentQuarter(game).quarterNumber,\n marketSurveyRequirements: state.entities.marketSurveyRequirements,\n marketPotentialSurveyPrice: game.surveyPrices.marketPotential,\n discountRate: game.surveyPrices.discountRate,\n hasGameEnded: hasGameEnded(game)\n }\n};\n\nconst mapDispatchToProps = {\n loadMarketSurveyRequirements,\n updateMarketSurveysRequirement\n};\n\nconst MarketSurveyRequirementsTranslated = withTranslation('translation')(MarketSurveyRequirements)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MarketSurveyRequirementsTranslated))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { loadConcurrencySurvey } from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport {currentQuarter, quarterNameFor} from \"../../../../services/quarter\";\nimport {formatNumber, toArray} from \"../../../../services/utils\";\nimport { withTranslation } from \"react-i18next\";\n\nclass ConcurrencySurvey extends Component {\n\n constructor(props) {\n super(props);\n this.props.loadConcurrencySurvey();\n }\n\n render() {\n const { t } = this.props;\n if (this.props.concurrencySurvey === undefined) {\n return (\n \n );\n }\n\n return toArray(this.props.concurrencySurvey).reverse().map(survey => (\n
\n

{t(\"concurrencySurvey.competitorsResults\", {quarterName: quarterNameFor(this.props.game, survey.quarterNumber)})}

\n
\n {this.renderSurveyResults(survey)}\n
\n
\n ));\n }\n\n renderSurveyResults(survey) {\n const { t } = this.props;\n return (\n \n \n \n \n {this.props.goods.map(good =>\n \n )}\n \n \n {this.props.goods.map(good => [\n ,\n \n ])}\n \n \n \n {toArray(survey.results).map((result, i) => {\n return (\n \n \n {this.props.goods.map(good => this.renderResultForCompanyAndGood(result, good))}\n \n )\n })}\n \n
{localStorage.getItem(\"language\") == \"cs\"? good.name : good.nameEn}
{t(\"concurrencySurvey.price\")}{t(\"concurrencySurvey.sold\")}
{t(\"concurrencySurvey.company\", {number: i + 2})}
\n )\n }\n\n renderResultForCompanyAndGood(companySurvey, good) {\n const goodSurvey = companySurvey.goods.find(item => item.goodId === good.id);\n\n let formattedPrice, formattedSoldGoods;\n\n if (goodSurvey !== undefined && goodSurvey.price !== undefined) {\n formattedPrice = formatNumber(goodSurvey.price);\n } else {\n formattedPrice = \"?\";\n }\n\n if (goodSurvey !== undefined && goodSurvey.soldGoods !== undefined) {\n formattedSoldGoods = formatNumber(goodSurvey.soldGoods);\n } else {\n formattedSoldGoods = \"?\";\n }\n\n return [\n {formattedPrice},\n {formattedSoldGoods}\n ];\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n\n return {\n game: game,\n goods: game.goods,\n concurrencySurvey: state.entities.concurrencySurvey,\n concurrencySurveyRequirement: state.entities.concurrencySurveyRequirement['first'],\n currentQuarter: currentQuarter(game).quarterNumber\n }\n};\n\nconst mapDispatchToProps = {\n loadConcurrencySurvey\n};\n\nconst ConcurrencySurveyTranslated = withTranslation(\"translation\")(ConcurrencySurvey) \n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ConcurrencySurveyTranslated))\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { quarterNameFor } from \"../../../../services/quarter\";\nimport {formatNumber} from \"../../../../services/utils\";\n\nconst MaterialSurveyTable = ({ game, data, t }) => {\n\n if (data === undefined) {\n return
{t(\"materialSurveyTable.wasNotOrdered\")}
\n }\n\n data.quarters.sort((a, b) => a.quarterNumber - b.quarterNumber);\n\n const tableRows = data.quarters.map(quarterSurvey =>\n \n {quarterNameFor(game, quarterSurvey.quarterNumber)}\n {formatNumber(quarterSurvey.price)}\n \n );\n\n return (\n \n \n \n \n \n {tableRows}\n \n
{t(\"materialSurveyTable.quarter\")}{t(\"materialSurveyTable.price\")}
\n )\n};\n\nMaterialSurveyTable.propTypes = {\n game: PropTypes.object.isRequired,\n data: PropTypes.object,\n t: PropTypes.func.isRequired\n};\n\nexport default MaterialSurveyTable\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { loadMaterialSurvey } from '../../../../actions/sync-modules'\nimport Loader from '../../../../components/Loader'\nimport MaterialSurveyTable from './MaterialSurveyTable'\nimport { withTranslation } from \"react-i18next\";\n\nclass MaterialSurvey extends Component {\n\n constructor(props) {\n super(props);\n this.props.loadMaterialSurvey();\n }\n\n render() {\n if (!this.props.didDownloadData) {\n return (\n \n );\n } else {\n return
\n {this.renderBoxes()}\n
\n }\n }\n\n renderBoxes() {\n return this.props.materials.map(material => {\n return (\n
\n
\n

{this.props.t(\"materialSurvey.surveyPrice\", {materialName: localStorage.getItem(\"language\") == \"cs\"? material.name : material.nameEn})}

\n
\n \n
\n
\n
\n )\n });\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n\n return {\n game: game,\n materials: game.materials,\n materialSurvey: state.entities.materialSurvey,\n materialSurveyRequirement: state.entities.materialSurveyRequirement['first'],\n didDownloadData: state.downloadedEntities.materialSurvey\n }\n};\n\nconst mapDispatchToProps = {\n loadMaterialSurvey\n};\n\nconst MaterialSurveyTranslated = withTranslation('translation')(MaterialSurvey)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MaterialSurveyTranslated))\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { updateMaterialSurveyRequirement } from '../../../../actions/sync-modules'\nimport {currentQuarter, hasGameEnded, quarterNameFor} from \"../../../../services/quarter\";\nimport LastChange from '../../../../components/LastChange'\nimport Checkboxes from \"../../../../components/Checkboxes\";\nimport {formatNumber} from \"../../../../services/utils\";\nimport Loader from \"../../../../components/Loader\";\nimport { withTranslation } from \"react-i18next\";\n\nclass MaterialSurveyRequirement extends Component {\n\n static propTypes = {\n\n };\n\n constructor(props) {\n super(props);\n\n this.state = {}\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state.checkedQuarterNumbers === undefined && props.materialSurveyRequirement !== undefined) {\n return {\n checkedQuarterNumbers: props.materialSurveyRequirement.quarterNumbers\n }\n }\n return null\n }\n\n render() {\n if (this.props.didDownloadData !== true) {\n return \n }\n\n return (\n
\n

{this.props.t(\"materialSurveyRequirement.order\")}

\n
\n
\n {this.renderCheckboxes()}\n {this.renderSurveyPrice()}\n
\n
\n \n
\n );\n }\n\n renderCheckboxes() {\n const materialSurveyRequirement = this.props.materialSurveyRequirement;\n\n let quarters = [];\n for (let i = 1; i <= 4; i++) {\n const quarter = this.props.currentQuarter + i;\n quarters.push({\n key: quarter,\n title: quarterNameFor(this.props.game, quarter),\n checked: materialSurveyRequirement !== undefined && materialSurveyRequirement.quarterNumbers.includes(quarter)\n });\n }\n\n return this.handleChange(items)}\n />;\n }\n\n handleChange(items) {\n const checkedItems = items.filter(item => item.checked).map(item => item.key);\n\n this.setState({\n checkedQuarterNumbers: checkedItems\n });\n\n this.props.updateMaterialSurveyRequirement({\n quarterNumbers: checkedItems\n });\n }\n\n renderSurveyPrice() {\n const quarterNumbers = this.state.checkedQuarterNumbers || [];\n const itemCount = quarterNumbers.length;\n const itemPrice = this.props.materialSurveyPrice;\n const discountRate = this.props.discountRate;\n\n let coefficient = 0;\n for (let i = 0; i < itemCount; i++) {\n const discount = i * discountRate; // every next item has 10% more discount: 1st 0%, 2nd 10%, 3rd 20% etc.\n coefficient += 1 - discount;\n }\n\n const finalPrice = itemPrice * coefficient;\n\n return (\n
\n {this.props.t(\"materialSurveyRequirement.totalPrice\", {amount: formatNumber(finalPrice)})}\n
\n )\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n\n return {\n game: game,\n currentQuarter: currentQuarter(game).quarterNumber,\n materialSurveyRequirement: state.entities.materialSurveyRequirement['first'],\n materialSurveyPrice: game.surveyPrices.materialPrices,\n discountRate: game.surveyPrices.discountRate,\n didDownloadData: state.downloadedEntities.materialSurveyRequirement,\n hasGameEnded: hasGameEnded(game)\n }\n};\n\nconst mapDispatchToProps = {\n updateMaterialSurveyRequirement\n};\n\nconst MaterialSurveyRequirementTranslated = withTranslation('translation')(MaterialSurveyRequirement)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MaterialSurveyRequirementTranslated))\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { updateConcurrencySurveyRequirement } from '../../../../actions/sync-modules'\nimport LastChange from '../../../../components/LastChange'\nimport {formatNumber} from \"../../../../services/utils\";\nimport {loadConcurrencySurveyRequirement} from \"../../../../actions/sync-modules\";\nimport {currentQuarter, quarterNameFor} from \"../../../../services/quarter\";\nimport Loader from \"../../../../components/Loader\";\nimport { withTranslation } from \"react-i18next\";\n\nclass ConcurrencySurveyRequirement extends Component {\n\n static propTypes = {\n\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isInitialized: false,\n price: false,\n soldGoods: false\n };\n\n this.props.loadConcurrencySurveyRequirement();\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state.isInitialized === false && props.concurrencySurveyRequirement !== undefined) {\n return {\n isInitialized: true,\n prices: props.concurrencySurveyRequirement.prices,\n soldGoods: props.concurrencySurveyRequirement.soldGoods\n }\n }\n return null\n }\n\n render() {\n const { t } = this.props;\n return (\n
\n

{t(\"concurrencySurveyRequirement.order\", {quarterName: quarterNameFor(this.props.game, this.props.currentQuarter)})}

\n
\n {this.renderContent()}\n
\n \n
\n );\n }\n\n renderContent() {\n if (this.props.didDownloadData !== true) {\n return \n } else {\n return
\n {this.renderCheckboxes()}\n {this.renderSurveyPrice()}\n
\n }\n }\n\n renderCheckboxes() {\n const { t , concurrencySurveyRequirement } = this.props;\n\n return [\n
\n this.setState({prices: !this.state.prices}, this.handleChange)}\n />\n \n
,\n
\n this.setState({soldGoods: !this.state.soldGoods}, this.handleChange)}\n />\n \n
\n ];\n }\n\n handleChange() {\n this.props.updateConcurrencySurveyRequirement({\n prices: this.state.prices,\n soldGoods: this.state.soldGoods\n });\n }\n\n renderSurveyPrice() {\n const { t } = this.props;\n let price = 0;\n\n if (this.state.prices) {\n price += this.props.priceSurveyPrice;\n }\n\n if (this.state.soldGoods) {\n price += this.props.soldGoodsSurveyPrice;\n }\n\n return (\n
\n {t(\"concurrencySurveyRequirement.totalPrice\", {amount: formatNumber(price)})}\n
\n )\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n const game = state.entities.game['first'];\n\n return {\n game: game,\n goods: game.goods,\n concurrencySurveyRequirement: state.entities.concurrencySurveyRequirement['first'],\n priceSurveyPrice: game.surveyPrices.concurrencyPrices,\n soldGoodsSurveyPrice: game.surveyPrices.concurrencySoldGoods,\n currentQuarter: currentQuarter(game).quarterNumber,\n didDownloadData: state.downloadedEntities.concurrencySurveyRequirement\n }\n};\n\nconst mapDispatchToProps = {\n loadConcurrencySurveyRequirement,\n updateConcurrencySurveyRequirement\n};\n\nconst ConcurrencySurveyRequirementTranslated = withTranslation('translation')(ConcurrencySurveyRequirement)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ConcurrencySurveyRequirementTranslated))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport MarketSurvey from \"./MarketSurvey\";\nimport MarketSurveyRequirements from \"./MarketSurveyRequirements\";\nimport ConcurrencySurvey from \"./ConcurrencySurvey\";\nimport MaterialSurvey from \"./MaterialSurvey\";\nimport MaterialSurveyRequirement from \"./MaterialSurveyRequirement\";\nimport ConcurrencySurveyRequirement from \"./ConcurrencySurveyRequirement\";\nimport { withTranslation } from \"react-i18next\";\n\nclass Surveys extends Component {\n render() {\n const { t } = this.props;\n return
\n

{t(\"surveys.sells\")}

\n \n \n\n

{t(\"surveys.material\")}

\n \n \n\n

{t(\"surveys.competitor\")}

\n \n \n
\n }\n}\n\nexport default withTranslation('translation')(Surveys);\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {sequenceMap, toArray} from \"../services/utils\";\nimport config from \"../config\";\nimport { withTranslation } from \"react-i18next\";\n\nclass ScoresTable extends React.Component {\n\n static propTypes = {\n scores: PropTypes.object.isRequired\n };\n\n render() {\n const maxCompanies = this.getMaximumNumberOfCompaniesOnMarket();\n\n if (toArray(this.props.scores).length === 0 || maxCompanies === 0) {\n return
{this.props.t(\"scoresTable.noData\")}
\n }\n\n return (\n \n \n \n \n {sequenceMap(1, maxCompanies, i =>\n \n )}\n \n \n \n {toArray(this.props.scores).map(market => {\n return (\n \n \n {sequenceMap(1, maxCompanies, i =>\n \n )}\n \n )\n })}\n \n
{this.props.t(\"scoresTable.placement\", {postProcess: 'interval', count: i})}
{market.name}\n {this.renderScoreForMarketAndOrder(market.scores, i)}\n
\n );\n }\n\n renderScoreForMarketAndOrder(marketScores, order) {\n const companies = marketScores.filter(i => i.order === order);\n return companies.map((company) =>\n
\n {company.name} ({company.score})\n
\n {this.renderCompanySummaries(company)}\n
\n );\n }\n\n renderCompanySummaries(company) {\n const summaryCount = company.summaries.length;\n const currentYear = Math.ceil(summaryCount / 4);\n\n if (summaryCount === 0) {\n return null;\n }\n\n return sequenceMap(1, currentYear, year => {\n const lastQuarterOfYear = year * 4;\n const lastAvailableQuarter = lastQuarterOfYear > summaryCount ? summaryCount : lastQuarterOfYear;\n const summary = company.summaries.find(i => i.quarterNumber === lastAvailableQuarter);\n\n if (summary === undefined) {\n return null;\n } else {\n return {this.props.t(\"scoresTable.year\", {year: year})}\n }\n });\n }\n\n getMaximumNumberOfCompaniesOnMarket() {\n let max = 0;\n toArray(this.props.scores).forEach(market => {\n const companyCount = market.scores.length;\n if (companyCount > max) {\n max = companyCount;\n }\n });\n return max;\n }\n}\n\nexport default withTranslation('translation')(ScoresTable)\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {withRouter} from 'react-router-dom'\nimport ScoresTable from \"../../../../components/ScoresTable\";\nimport {loadScores} from \"../../../../actions/sync-modules\";\nimport Loader from \"../../../../components/Loader\";\nimport { withTranslation } from \"react-i18next\";\n\nclass Scores extends Component {\n\n constructor(props) {\n super(props);\n this.props.loadScores();\n }\n\n render() {\n const { t } = this.props;\n if (!this.props.didDownloadData) {\n return ;\n }\n\n return (\n
\n
\n

{t(\"scores.results\")}

\n
\n \n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n scores: state.entities.scores,\n didDownloadData: state.downloadedEntities.scores === true\n }\n};\n\nconst mapDispatchToProps = {\n loadScores\n};\n\nconst ScoresTranslated = withTranslation('translation')(Scores)\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ScoresTranslated))\n","/* eslint-disable no-undef */\n\nimport React, {Component} from 'react'\nimport {connect} from 'react-redux'\nimport {withRouter} from 'react-router-dom'\nimport {Redirect} from \"react-router-dom\";\nimport ScoresTable from \"../../../../components/ScoresTable\";\nimport {generateTeacherStatistics, loadTeacherScores} from \"../../../../actions/sync-modules\";\nimport Loader from \"../../../../components/Loader\";\nimport config from \"../../../../config\";\n\nclass Scores extends Component {\n\n constructor(props) {\n super(props);\n\n const gameId = this.props.match.params.gameId;\n\n this.state = {\n game: props.games[gameId],\n hasStartedGeneration: false\n };\n\n this.props.loadTeacherScores(gameId);\n }\n\n render() {\n if (this.state.game === undefined) {\n return \n }\n\n if (!this.props.didDownloadData) {\n return ;\n }\n\n return (\n
\n\n
\n

Bodování a výsledky hospodaření

\n
\n \n
\n
\n\n
\n

Statistiky

\n
\n
\n Slouží pro vygenerování obsáhlých statistik, které využije učitel pro prezentaci průběhu hry na konci semestru.\n
\n {this.state.hasStartedGeneration &&\n
\n info\n Generování spuštěno. Zabere to nějakou chvilku. Může to trvat minuty až desítky minut.\n
}\n this.generateStatistics()}\n className={'btn btn-primary pointer'}\n >Generovat\n this.openStatistics()}\n rel=\"noopener noreferrer\"\n className={'btn btn-primary ml-2 pointer'}\n >Zobrazit\n
\n
\n\n
\n );\n }\n\n generateStatistics() {\n this.props.generateTeacherStatistics(this.state.game.id, () => {\n this.setState({hasStartedGeneration: true});\n });\n }\n\n openStatistics() {\n window.open(config.serverUrl + 'games/' + this.state.game.id + '/statistics?hash=' + this.state.game.documentHash + '&rand=' + Math.random());\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n games: state.entities.teacherGames,\n scores: state.entities.scores,\n didDownloadData: state.downloadedEntities.scores\n }\n};\n\nconst mapDispatchToProps = {\n loadTeacherScores,\n generateTeacherStatistics\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Scores))\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport { connect } from \"react-redux\";\nimport {isRegistrationPeriod} from \"../services/quarter\";\n\nconst CompanyRegistrationSection = ({ isRegistrationPeriod, children }) => {\n\n if (isRegistrationPeriod === false) { // registration period ended, redirect to company administration\n console.log(7);\n return \n }\n\n return children;\n};\n\nexport default withRouter(connect(state => {\n const game = state.entities.game['first'];\n\n return {\n isRegistrationPeriod: isRegistrationPeriod(game),\n }\n}, {\n})(CompanyRegistrationSection));\n\n\n\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport { connect } from \"react-redux\";\nimport {loadCompany} from \"../actions/sync-modules\";\nimport {isGameRunning, isRegistrationPeriod} from \"../services/quarter\";\n\nconst CompanySection = ({ didLoadCompany, isRegistrationPeriod, loadCompany, isLoadingBasicData, isGameRunning, children }) => {\n\n if (isRegistrationPeriod) { // user is not in any company yet\n console.log(8);\n return \n }\n\n if (didLoadCompany === false) {\n console.log(9);\n if (isLoadingBasicData === false) {\n loadCompany();\n }\n return null;\n }\n\n return (\n
\n {children}\n
\n );\n};\n\nexport default withRouter(connect(state => {\n const game = state.entities.game['first'];\n const downloaded = state.downloadedEntities;\n\n return {\n didLoadCompany: downloaded.company === true,\n isLoadingBasicData: state.isLoadingBasicData.isLoading,\n isRegistrationPeriod: isRegistrationPeriod(game),\n isGameRunning: isGameRunning(game)\n }\n}, {\n loadCompany\n})(CompanySection));\n\n\n\n","import React from 'react'\nimport {Redirect, withRouter} from 'react-router-dom'\nimport { connect } from \"react-redux\";\nimport {loadGame} from \"../actions/sync-modules\";\n\nconst GameSection = ({ didLoadGame, userHasGame, isLoadingBasicData, loadGame, children }) => {\n\n if (userHasGame === false) { // user is not registered to any game\n console.log(5);\n return \n }\n\n if (didLoadGame === false) { // missing basic game data\n console.log(6);\n if (isLoadingBasicData === false) {\n loadGame();\n }\n return null;\n }\n\n return children;\n};\n\nexport default withRouter(connect(state => {\n const user = state.entities.user['first'];\n const game = state.entities.game['first'];\n const userGame = state.entities.userGame['first'];\n const downloaded = state.downloadedEntities;\n\n return {\n userHasGame: user.gameId !== null || (userGame !== undefined && userGame !== null) || game !== undefined,\n didLoadGame: downloaded.game === true,\n isLoadingBasicData: state.isLoadingBasicData.isLoading,\n }\n}, {\n loadGame\n})(GameSection));\n\n\n\n","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {withRouter} from 'react-router-dom'\nimport {currentQuarter, quarterNameFor} from \"../../../../services/quarter\";\nimport PropTypes from \"prop-types\";\nimport {changeCurrentGameQuarter, loadSwitchQuarterLog} from \"../../../../actions/sync-modules\";\nimport {nl2br} from \"../../../../services/utils\";\nimport Loader from \"../../../../components/Loader\";\n\nclass TimeTravel extends Component {\n\n static propTypes = {\n game: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: false,\n hasChangedQuarter: false,\n log: '...',\n };\n }\n\n componentDidMount() {\n this.startRefreshingLog();\n }\n\n render() {\n return (\n
\n

Cestování v čase

\n {this.renderContent()}\n
\n )\n }\n\n renderContent() {\n const current = currentQuarter(this.props.game);\n const lastInitialYearQuarter = this.props.game.initialYear * 4;\n const lastGameQuarter = this.props.game.gameYearCount * 4;\n const canGoBack = current.quarterNumber > lastInitialYearQuarter;\n const canGoForward = current.quarterNumber <= lastGameQuarter;\n\n if (this.state.isLoading) {\n return
\n } else if (this.state.hasChangedQuarter) {\n return this.renderResult();\n } else if (current.quarterNumber < 1 || !this.props.game.marketsEnabled) {\n return this.renderGameNotStarted();\n }\n\n return
\n
\n warning\n Tato funkce je experimentální. Nejsou známy všechny vedlejší efekty cestování v čase a v krajním případu může dojít i k pádu celé aplikace, který si vyžádá zásah programátora.
\n Tuto funkci využívejte pouze pro testovací a analytické účely mimo období ostrého běhu hry se studenty.
\n Nikdy nepoužívejte pro opravu nechtěného nebo zapomenutého rozhodnutí studenta. Taková oprava rozhodnutí způsobí chaos, protože se nečekaně změní i výsledky ostatních firem.
\n
\n\n
\n info\n Změna kvartálu může trvat až několik minut a hra by se neměla během této doby používat.\n
\n\n

Aktuální kvartál

\n {quarterNameFor(this.props.game, current.quarterNumber)}\n\n

Posunout kvartál

\n \n \n
\n }\n\n renderGameNotStarted() {\n return
\n
Hra ještě nezačala.
\n
\n }\n\n changeQuarter(newQuarterNumber) {\n if (window.confirm(\"Opravdu chcete změnit kvartál? Jste si vědomi možných vedlejších efektů?\")) {\n this.setState({isLoading: true});\n this.props.changeCurrentGameQuarter(this.props.game.id, newQuarterNumber, () =>\n this.setState({\n log: '...',\n isLoading: false,\n hasChangedQuarter: true\n })\n );\n }\n }\n\n renderResult() {\n const hasFinished = this.state.log.trim().endsWith(\"DONE\");\n\n return
\n
\n check\n Změna kvartálu byla spuštěna.
\n Vyčkejte, než se změna kvartálu dokončí. Může to trvat až několik minut.
\n Jakmile se změna kvartálu dokončí, uvidíte \"DONE\" na konci logu níže.
\n Poté obnovte stránku a měli byste být v novém kvartálu.\n
\n\n \n\n

Log změny kvartálu

\n
\n { nl2br(this.state.log) }\n
\n
\n }\n\n startRefreshingLog() {\n this.logRefreshInterval = setInterval(() => this.refreshLog(), 1000);\n }\n\n refreshLog() {\n this.props.loadSwitchQuarterLog(this.props.game.id, result => {\n this.setState({log: result.response.data});\n });\n }\n\n componentWillUnmount() {\n clearInterval(this.logRefreshInterval);\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {};\n};\n\nconst mapDispatchToProps = {\n changeCurrentGameQuarter,\n loadSwitchQuarterLog,\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(TimeTravel))\n","/* eslint-disable no-undef */\n\nimport React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {withRouter} from 'react-router-dom'\nimport {Redirect} from \"react-router-dom\";\nimport TimeTravel from \"./TimeTravel\";\n\nclass Experimental extends Component {\n\n constructor(props) {\n super(props);\n\n const gameId = this.props.match.params.gameId;\n\n this.state = {\n game: props.games[gameId]\n };\n\n }\n\n render() {\n if (this.state.game === undefined) {\n return \n }\n\n return ;\n }\n\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n games: state.entities.teacherGames,\n }\n};\n\nconst mapDispatchToProps = {};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Experimental))\n","import React, {Component, Suspense} from 'react'\nimport { Provider } from 'react-redux'\nimport {Route, Switch, withRouter} from 'react-router-dom'\nimport Sells from '../containers/pages/Student/Sells/Sells'\nimport Production from '../containers/pages/Student/Production/Production'\nimport Layout from '../containers/Layout'\nimport Dashboard from \"../containers/pages/Student/Dashboard/Dashboard\"\nimport Login from \"../containers/pages/Login/Login\"\nimport PrivateSection from \"./PrivateSection\"\nimport Homepage from '../containers/pages/Homepage/Homepage'\nimport StudentSummaries from '../containers/pages/Student/Summaries/Summaries'\nimport MaterialPurchase from '../containers/pages/Student/MaterialPurchase/MaterialPurchase'\nimport Staff from '../containers/pages/Student/Staff/Staff'\nimport RegistrationToGame from '../containers/pages/Student/RegistrationToGame/RegistrationToGame'\nimport CompanyRegistration from '../containers/pages/Student/CompanyRegistration/CompanyRegistration'\nimport { connect } from 'react-redux'\nimport StudentSection from \"./StudentSection\";\nimport TeacherSection from \"./TeacherSection\";\nimport Games from \"../containers/pages/Teacher/Games/Games\";\nimport Game from \"../containers/pages/Teacher/Game/Game\";\nimport MarketsAndCompanies from \"../containers/pages/Teacher/MarketsAndCompanies/MarketsAndCompanies\";\nimport LoanRequirements from \"../containers/pages/Teacher/LoanRequirements/LoanRequirements\";\nimport StockPrices from \"../containers/pages/Teacher/StockPrices/StockPrices\";\nimport Students from \"../containers/pages/Teacher/Students/Students\";\nimport TeacherSummaries from \"../containers/pages/Teacher/Summaries/Summaries\";\nimport CompanySummary from \"../containers/pages/Teacher/Summaries/CompanySummary\";\nimport NotFound from \"../containers/pages/Errors/NotFound\";\nimport Surveys from \"../containers/pages/Student/Surveys/Surveys\";\nimport StudentScores from \"../containers/pages/Student/Scores/Scores\";\nimport TeacherScores from \"../containers/pages/Teacher/Scores/Scores\";\nimport CompanyRegistrationSection from \"./CompanyRegistrationSection\";\nimport CompanySection from \"./CompanySection\";\nimport GameSection from \"./GameSection\";\nimport translationCsJson from '../localization/translations/cs.json'\nimport translationEnJson from '../localization/translations/en.json'\nimport {I18nextProvider} from \"react-i18next\";\nimport i18next from \"i18next\";\nimport intervalPlural from 'i18next-intervalplural-postprocessor';\nimport config from \"../config\";\nimport Experimental from \"../containers/pages/Teacher/Experimental/Experimental\";\n\n// import DevTools from './DevTools'\n\nclass Root extends Component {\n\n constructor() {\n super();\n this.initI18n();\n }\n\n render() {\n return (\n \n \n \n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n )\n }\n\n getLanguage() {\n if (localStorage.getItem(\"language\") === null) {\n const urlParams = new URLSearchParams(window.location.search);\n const urlLanguage = urlParams.get('defaultLang');\n const defaultLanguage = [\"cs\", \"en\"].includes(urlLanguage) ? urlLanguage : config.defaultLanguage;\n localStorage.setItem(\"language\", defaultLanguage)\n return defaultLanguage\n } else {\n return localStorage.getItem(\"language\");\n }\n }\n\n initI18n() {\n i18next\n .use(intervalPlural)\n .init({\n interpolation: { escapeValue: false }, // React already does escaping\n lng: this.getLanguage(), // language to use\n resources: {\n en: {\n translation: translationEnJson.translationEn\n },\n cs: {\n translation: translationCsJson.translationCs\n },\n },\n transSupportBasicHtmlNodes: true\n });\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n\n }\n};\n\nexport default withRouter(connect(mapStateToProps, {\n\n})(Root))\n","import React from 'react'\nimport { render } from 'react-dom'\nimport { BrowserRouter as Router } from 'react-router-dom'\nimport Root from './routes/Root'\nimport configureStore from './store/configureStore'\nimport '../node_modules/bootstrap/dist/css/bootstrap.min.css'\nimport { restoreAuthToken } from \"./middleware/sync/authorization\";\n\n\nconst store = configureStore();\n\nrender(\n \n \n ,\n document.getElementById('root')\n);\n\nrestoreAuthToken(store);\n"],"names":["DELETE_ENTITY_DATA_BY_ID","DELETE_ENTITY_DATA","DELETE_ALL_ENTITIES_DATA","updateEntityDataById","schema","id","data","dispatch","getState","type","response","entities","key","deleteEntityDataById","entity","deleteEntityData","deleteAllEntitiesData","SHOW_ERROR_MESSAGE","RESET_ERROR_MESSAGE","REMOVE_ERROR_MESSAGE","showErrorMessage","message","error","resetErrorMessage","removeErrorMessage","indexes","removeErrorMessageById","showEndOfPeriod","code","START_LOADING_BASIC_DATA","registerToGame","registrationPhrase","complete","postRequest","Schemas","then","loadGame","downloadData","endpoint","loadCompany","loadSells","updateSells","goodId","updateData","loadMarketSurveys","loadMarketSurveyRequirements","updateMarketSurveysRequirement","loadProductionAndMachines","updateProduction","production","updateMachines","sell","buy","loadInvestmentLoan","updateInvestmentLoan","uploadInvestmentLoanDocument","file","uploadFile","loadInvestmentLoanExtraRepayment","updateInvestmentLoanExtraRepayment","loadConcurrencySurvey","loadConcurrencySurveyRequirement","updateConcurrencySurveyRequirement","loadSummaries","loadMaterialPurchase","updateMaterialPurchaseRequirement","materialId","loadMaterialSurvey","updateMaterialSurveyRequirement","loadStaff","updateStaffRequirement","updateStaffPersonalPolicy","loadUserCompanies","addNewCompany","companyName","seminarId","createData","name","updateCompany","companyId","deleteCompany","deleteData","updateUserCompany","user","loadScores","loadTeacherGames","deleteTeacherGame","gameId","createTeacherGame","updateTeacherGame","changeCurrentGameQuarter","newQuarterNumber","putRequest","loadSwitchQuarterLog","getRequest","loadTeacherCompanies","loadTeacherMarkets","addNewTeacherCompany","updateTeacherCompany","deleteTeacherCompany","addNewMarket","marketName","updateTeacherMarket","marketId","deleteTeacherMarket","loadMarketsRandomness","regenerateRandomness","searchUsers","query","updateTeacherUser","loadTeacherGameUsers","loadStockPrices","UPDATE_OPENED_LOAN_REQUIREMENTS","loadLoanRequirements","updateLoanRequirement","requirementId","loadTeacherSummaries","loadTeacherScores","generateTeacherStatistics","loadTeacherGameDefaults","LOGIN_REQUEST","LOGIN_SUCCESS","LOGIN_FAILURE","LOGIN_RESTORED","login","username","password","CALL_API","types","method","result","persistAuthToken","loadProfilePicture","loadUser","SET_PROFILE_PICTURE","DELETE_PROFILE_PICTURE","parameters","headers","authorization","getAuthToken","fetch","config","status","blob","undefined","reader","FileReader","onload","image","this","readAsDataURL","LOGOUT","logout","clearAuthToken","ADD_SYNC_REQUEST","REMOVE_FIRST_SYNC_REQUEST","WAIT_FOR_SYNC","START_SYNC","STOP_SYNC","NEW_CHANGES_WITHOUT_SAVING","SAVED_ALL_CHANGES","addSyncRequest","request","syncTimeout","syncCompletionHandlers","startSync","withDelay","isWaitingForSync","isSyncing","syncQueue","length","push","clearTimeout","setTimeout","syncFirstItem","triggerCompletionHandlers","startSyncWithDelay","allItemsCompleted","firstRequest","copy","slice","forEach","handler","DOWNLOAD_TYPES","START_DOWNLOADING_ENTITY","STOP_DOWNLOADING_ENTITY","targets","Array","isArray","target","entityFromSchema","promises","Promise","resolve","reject","all","CREATE_TYPES","UPDATE_TYPES","DELETE_TYPES","deleteRequest","UPLOAD_TYPES","files","FormData","Object","keys","append","uploadRequest","version","serverUrl","process","maxNumber","minNumber","maxString","maxCompanyNameLength","maxRegistrationPhraseLength","defaultLanguage","token","localStorage","getItem","setItem","apiToken","restoreAuthToken","store","removeItem","parseSuccessfulResponse","json","catch","err","console","includes","assign","camelizedJson","camelizeKeys","normalizedJson","normalize","normalizeJson","parseFailedResponse","errors","toArray","join","parseNotFoundResponse","entitites","first","authorizationToken","toUpperCase","cache","body","JSON","stringify","ok","next","action","callAPI","requestType","successType","failureType","Error","every","actionWith","finalAction","sendServerRequest","errorMessage","userGame","game","company","sells","machines","investmentLoan","investmentLoanExtraRepayment","marketSurveys","marketSurveyRequirements","concurrencySurvey","concurrencySurveyRequirement","summaries","materialPurchase","materialPurchasePrices","materialPurchaseRequirement","materialSurvey","materialSurveyRequirement","staff","staffRequirement","staffPersonalPolicy","userCompanies","teacherGames","teacherGameDefaults","stockPrices","loanRequirements","teacherCompanies","teacherMarkets","teacherRandomness","teacherUsers","teacherSearchUsers","scores","entityKey","entitiesStructure","obj","singleObjectSchema","idAttribute","item","byIdSchema","byGoodIdSchema","byMaterialIdSchema","byQuarterNumberSchema","quarterNumber","userSchema","summarySchema","scoreSchema","sellSchema","marketSurveySchema","marketSurveyRequirementSchema","concurrencySurveySchema","materialPurchaseSchema","materialPurchasePricesSchema","materialPurchaseRequirementSchema","materialSurveySchema","userCompanySchema","teacherGameSchema","teacherGameDefaultsSchema","stockPricesSchema","loanRequirementsSchema","teacherCompanySchema","teacherMarketSchema","teacherRandomnessSchema","teacherUserSchema","teacherSearchUserSchema","USER","USER_GAME","SUMMARY","SUMMARY_ARRAY","SCORE","SCORE_ARRAY","GAME","COMPANY","SELL","SELL_ARRAY","PRODUCTION","MACHINES","INVESTMENT_LOAN","INVESTMENT_LOAN_EXTRA_REPAYMENT","MARKET_SURVEY","MARKET_SURVEY_ARRAY","MARKET_SURVEY_REQUIREMENT","MARKET_SURVEY_REQUIREMENT_ARRAY","CONCURRENCY_SURVEY","CONCURRENCY_SURVEY_ARRAY","CONCURRENCY_SURVEY_REQUIREMENT","MATERIAL_PURCHASE","MATERIAL_PURCHASE_ARRAY","MATERIAL_PURCHASE_PRICES","MATERIAL_PURCHASE_PRICES_ARRAY","MATERIAL_PURCHASE_REQUIREMENT","MATERIAL_PURCHASE_REQUIREMENT_ARRAY","MATERIAL_SURVEY","MATERIAL_SURVEY_ARRAY","MATERIAL_SURVEY_REQUIREMENT","STAFF","STAFF_REQUIREMENT","STAFF_PERSONAL_POLICY","USER_COMPANY","USER_COMPANY_ARRAY","TEACHER_GAME","TEACHER_GAME_ARRAY","TEACHER_GAME_DEFAULTS","TEACHER_STOCK_PRICES","TEACHER_STOCK_PRICES_ARRAY","TEACHER_LOAN_REQUIREMENTS","TEACHER_LOAN_REQUIREMENTS_ARRAY","TEACHER_COMPANY","TEACHER_COMPANY_ARRAY","TEACHER_MARKET","TEACHER_MARKET_ARRAY","TEACHER_RANDOMNESS","TEACHER_RANDOMNESS_ARRAY","TEACHER_USER","TEACHER_USER_ARRAY","TEACHER_SEARCH_USER","TEACHER_SEARCH_USER_ARRAY","quarterNameFor","initialYear","fictiveYearOfCompanyEstablishement","year","Math","floor","currentQuarter","end","quarters","find","a","currentQuarterNumber","currentQuarterPeriod","quarter","previousQuarter","i","startOfQuarter","endOfRegistrations","endOfQuarter","start","dateFromUnixTimestamp","currentQuarterLengthInHours","period","round","getTime","remainingTimeInCurrentQuarter","offset","periodEnd","now","Date","difference","remainingHoursInCurrentQuarter","oneHour","remainingSeconds","remainingTimeForLoanRequirement","hoursForLoanRequirement","hasGameEnded","hasEnded","isRegistrationPeriod","isGameRunning","lastInitialYearQuarter","lastGameQuarter","gameYearCount","object","map","sequenceMap","callback","results","s","nl2br","description","split","unixTimestamp","getCurrentLanguage","getCurrentLocale","formatNumber","number","toLocaleString","maximumFractionDigits","formatDate","date","toLocaleDateString","formatDateTime","formatDateTimeShort","minutes","getMinutes","formattedMinutes","getMonth","getDate","getHours","firstUpper","charAt","sanitize","str","replace","toLowerCase","sortSanitized","arr","sort","b","module","exports","createThunkMiddleware","extraArgument","_ref","thunk","withExtraArgument","state","update","$unset","updateEntityData","mergeWith","updateOpenedLoanRequirements","ActionTypes","count","filter","accepted","acceptedByTeacher","quarterId","openedLoanRequirements","$set","rootReducer","combineReducers","newState","deletedData","splices","$splice","index","findIndex","$push","lastSave","toLocaleTimeString","existingRequestIndex","splice","shift","isAuthenticated","isBeingAuthenticated","isLoadingBasicData","isLoading","downloadedEntities","hasUnsavedChanges","profilePicture","preloadedState","createStore","applyMiddleware","api","__esModule","_react","require","_propTypes2","_interopRequireDefault","_gud2","default","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","prototype","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","MAX_SIGNED_31_BIT_INT","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","Provider","_Component","_temp","_this","_len","arguments","args","_key","apply","concat","emitter","handlers","on","off","h","get","set","newValue","changedBits","createEventEmitter","props","getChildContext","componentWillReceiveProps","nextProps","oldValue","x","y","render","children","Component","childContextTypes","isRequired","Consumer","_Component2","_temp2","_this2","_len2","_key2","getValue","onUpdate","observedBits","setState","componentDidMount","context","componentWillUnmount","contextTypes","_react2","_implementation2","createContext","returnFalse","returnTrue","EventBaseObject","timeStamp","currentTarget","defineProperty","isEventObject","isDefaultPrevented","isPropagationStopped","isImmediatePropagationStopped","preventDefault","stopPropagation","stopImmediatePropagation","halt","immediate","_EventBaseObject2","_objectAssign2","TRUE","FALSE","commonProps","isNullOrUndefined","w","eventNormalizers","reg","fix","event","nativeEvent","which","charCode","keyCode","metaKey","ctrlKey","deltaX","deltaY","delta","wheelDelta","axis","wheelDeltaY","wheelDeltaX","detail","HORIZONTAL_AXIS","VERTICAL_AXIS","eventDoc","doc","button","pageX","clientX","ownerDocument","document","documentElement","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","relatedTarget","fromElement","toElement","retTrue","retFalse","DomEventObject","isNative","cancelBubble","defaultPrevented","getPreventDefault","returnValue","fixFns","l","prop","normalizer","match","srcElement","nodeType","parentNode","fixFn","EventBaseObjectProto","e","eventType","option","wrapCallback","ne","_EventObject2","addEventListener","_ret","useCapture","capture","v","remove","removeEventListener","attachEvent","detachEvent","_EventObject","_defineProperty","_defineProperty2","defineProperties","descriptor","protoProps","staticProps","_assign","_assign2","source","hasOwnProperty","_getPrototypeOf2","_getOwnPropertyDescriptor2","property","receiver","Function","desc","parent","getter","_setPrototypeOf2","_create2","_typeof3","indexOf","_typeof2","_from","_from2","arr2","_iterator2","_symbol2","_typeof","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","bind","$apply","$call","$reflectApply","$gOPD","$defineProperty","$max","originalFunction","func","applyBind","hasOwn","classNames","classes","arg","argType","inner","toString","re","ClassList","el","list","classList","add","array","className","removeMatching","test","toggle","force","has","getAttribute","contains","$Object","P","D","it","getOwnPropertyDescriptor","isObject","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","O","cof","TAG","ARG","T","B","tryGet","callee","core","__e","createDesc","f","aFunction","fn","that","c","is","createElement","getKeys","gOPS","pIE","getSymbols","symbols","isEnum","global","ctx","hide","PROTOTYPE","$export","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","IS_WRAP","W","expProto","C","virtual","R","U","exec","window","__g","dP","propertyIsEnumerable","Iterators","ITERATOR","ArrayProto","anObject","iterator","entries","ret","setToStringTag","IteratorPrototype","NAME","LIBRARY","redefine","$iterCreate","getPrototypeOf","BUGGY","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","SAFE_CLOSING","riter","from","skipClosing","safe","iter","done","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","meta","KEY","NEED","fastKey","getWeak","onFreeze","DESCRIPTORS","toObject","IObject","$assign","A","Symbol","K","k","aLen","j","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","src","contentWindow","open","write","lt","close","Properties","IE8_DOM_DEFINE","toPrimitive","Attributes","gOPD","gOPN","windowNames","getOwnPropertyNames","getWindowNames","$keys","hiddenKeys","getOwnPropertySymbols","ObjectProto","arrayIndexOf","names","fails","exp","bitmap","check","buggy","def","tag","stat","shared","uid","SHARED","mode","copyright","toInteger","defined","TO_STRING","pos","String","charCodeAt","max","min","ceil","isNaN","val","valueOf","px","random","wksExt","$Symbol","USE_SYMBOL","classof","isArrayIter","createProperty","getIterFn","arrayLike","step","mapfn","mapping","iterFn","addToUnscopables","iterated","_t","_i","_k","Arguments","$getOwnPropertyDescriptor","$getPrototypeOf","$at","point","$fails","wks","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","TO_STRING_TAG","DOMIterables","Collection","objectKeys","isArguments","isRegex","flags","isDate","deepEqual","actual","expected","options","opts","strict","isUndefinedOrNull","aIsRegex","bIsRegex","aIsBuffer","isBuffer","bIsBuffer","ka","kb","objEquiv","hasSymbols","toStr","origDefineProperty","hasPropertyDescriptors","supportsDescriptors","predicate","predicates","canUseDOM","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","define","bound","boundLength","boundArgs","implementation","functionsHaveNames","functionsHaveConfigurableNames","$bind","boundFunctionsHaveNames","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt","Boolean","DataView","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","Map","Number","parseFloat","parseInt","Proxy","RangeError","Reflect","RegExp","Set","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","string","last","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","hasArrayLengthDefineBug","origSymbol","hasSymbolSham","symObj","syms","toStringTag","_processKeys","convert","_isObject","_isDate","_isRegExp","_isBoolean","_isFunction","output","_isArray","camelize","_isNumerical","chr","substr","pascalize","camelized","decamelize","separator","separateWords","_processor","humps","depascalize","decamelizeKeys","pascalizeKeys","depascalizeKeys","_extends","intervalSeparator","intervalRegex","intervalSuffix","setOptions","translator","p","found","iv","interval","to","intervalMatches","newOptions","postProcess","newKeys","translate","invariant","getAllKeys","newContext","commands","defaultCommands","extend","directive","isEquals","spec","nextObject","objectWasNextObject","nextValueForKey","nextObjectValue","invariantPushAndUnshift","$unshift","originalObject","invariantSplice","invariantSplices","invariantSet","$toggle","invariantSpecArray","nextObjectCopy","$add","invariantMapOrSet","pair","$remove","delete","$merge","specValue","original","contextForExport","command","typeOfTarget","condition","format","d","argIndex","framesToPop","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","supportsStandardArguments","getDay","tryDateObject","isRegexMarker","badStringifier","throwRegexMarker","devnull","bundleIdCache","bundleResultCache","bundleCallbackQueue","subscribe","bundleIds","callbackFn","bundleId","r","depsNotFound","numWaiting","pathsNotFound","publish","q","executeCallbacks","success","loadFile","path","numTries","isLegacyIECss","async","maxTries","numRetries","beforeCallbackFn","before","pathStripped","rel","href","relList","as","onerror","onbeforeload","ev","sheet","cssText","head","appendChild","loadFiles","paths","loadjs","arg1","arg2","trim","loadFn","returnPromise","ready","deps","reset","isDefined","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","clear","entry","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","getNative","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","__data__","size","thisArg","baseTimes","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseAssignValue","eq","objValue","objectCreate","baseCreate","baseFor","createBaseFor","getRawTag","objectToString","symToStringTag","baseGetTag","isObjectLike","isFunction","isMasked","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","isPrototype","nativeKeysIn","isProto","assignMergeValue","baseMergeDeep","keysIn","safeGet","baseMerge","srcIndex","customizer","stack","srcValue","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","isPlainObject","toPlainObject","mergeFunc","stacked","isCommon","isTyped","identity","overRest","setToString","constant","baseSetToString","n","iteratee","arrayBuffer","byteLength","root","freeExports","freeModule","Buffer","allocUnsafe","buffer","isDeep","cloneArrayBuffer","typedArray","byteOffset","assignValue","isNew","coreJsData","baseRest","isIterateeCall","assigner","sources","guard","fromRight","keysFunc","iterable","freeGlobal","isKeyable","baseIsNative","getPrototype","overArg","nativeObjectToString","unmasked","nativeCreate","reIsUint","isArrayLike","maskSrcKey","Ctor","assocIndexOf","pop","getMapData","freeProcess","nodeUtil","binding","transform","nativeMax","otherArgs","freeSelf","shortOut","nativeNow","lastCalled","stamp","remaining","pairs","LARGE_ARRAY_SIZE","other","baseIsArguments","stubFalse","objectCtorString","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeysIn","createAssigner","copyObject","moment","months","standalone","monthsShort","monthsParse","monthsRegex","plural","withoutSuffix","isFuture","defineLocale","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","day","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","m","mm","hh","dd","M","MM","yy","dayOfMonthOrdinalParse","ordinal","week","dow","doy","factory","hookCallback","some","hooks","setHookCallback","input","hasOwnProp","isObjectEmpty","isUndefined","isNumber","res","arrLen","createUTC","locale","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","parsedParts","isNowValid","_d","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","t","len","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","mom","_calendar","zeroFill","targetLength","forceSign","absNumber","abs","zerosToFill","pow","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","invalidDate","replaceLongDateFormatTokens","lastIndex","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","ww","_relativeTime","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","u","isLeapYear","absFloor","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","month","daysInMonth","stringGet","stringSet","prioritized","prioritizedLen","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","modMonth","o","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","fwd","getUTCDay","dayOfYearFromWeeks","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","seconds","kInput","_isPm","isPM","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","meridiemParse","locales","localeFamilies","commonPrefix","arr1","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","abbr","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","temp","weekdayOverflow","curWeek","GG","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","hour","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","prototypeMin","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","duration","years","weeks","isoWeek","days","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","tmp","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","properties","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","prefix","datetime","suffix","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toJSON","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","field","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","valueOf$1","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","th","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","_defineProperties","_createClass","_inheritsLoose","isImmutable","_map","denormalizeImmutable","unvisit","reduce","stringKey","EntitySchema","definition","_options","_options$idAttribute","_options$mergeStrateg","mergeStrategy","entityA","entityB","_options$processStrat","processStrategy","_options$fallbackStra","fallbackStrategy","_getId","getDefaultGetId","_idAttribute","_mergeStrategy","_processStrategy","_fallbackStrategy","_proto","entitySchema","_extends2","getId","merge","fallback","visit","addEntity","visitedEntities","entityType","processedEntity","resolvedSchema","denormalize","PolymorphicSchema","schemaAttribute","_schemaAttribute","getSchemaAttribute","isSingleSchema","inferSchema","attr","normalizeValue","normalizedValue","denormalizeValue","schemaKey","UnionSchema","_PolymorphicSchema","ValuesSchema","_extends3","entityOrId","validateSchema","getValues","ArraySchema","_normalize","localSchema","resolvedLocalSchema","_denormalize","ObjectSchema","Entity","Union","Values","normalize$1","existingEntity","addEntities","propIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","numberIsNaN","getPolyfill","shim","polyfill","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","ctor","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","isarray","pathToRegexp","parse","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encode","pretty","segment","attachKeys","sensitive","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","propName","componentName","location","propFullName","secret","getShim","ReactPropTypes","bigint","bool","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","aa","ba","g","onError","da","ea","fa","ha","ia","ja","la","ma","na","oa","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","wa","dependencies","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Xa","Sa","Ta","Ra","removeAttribute","setAttribute","setAttributeNS","ReactCurrentDispatcher","current","ReactCurrentBatchConfig","suspense","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","lb","mb","nb","pb","displayName","$$typeof","_status","_result","qb","_debugOwner","_debugSource","fileName","lineNumber","return","rb","sb","nodeName","xb","_valueTracker","setValue","stopTracking","tb","yb","checked","zb","defaultChecked","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","activeElement","Gb","Children","Fb","Hb","selected","defaultSelected","disabled","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","textContent","Mb","Nb","Ob","Pb","Qb","namespaceURI","innerHTML","firstChild","removeChild","MSApp","execUnsafeLocalFunction","Rb","lastChild","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","animation","transition","Xb","Yb","Zb","$b","ac","bc","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","child","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPersistent","release","mc","nc","correspondingUseElement","oc","pc","qc","topLevelType","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","container","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","kd","ld","md","setProperty","substring","nd","menuitem","area","br","col","embed","hr","img","keygen","link","param","track","wbr","od","pd","qd","rd","sd","td","ud","vd","nextSibling","wd","compareDocumentPosition","xd","HTMLIFrameElement","yd","contentEditable","zd","Ad","Bd","Cd","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","Interface","ee","eventPool","fe","destructor","de","getPooled","persist","eventPhase","bubbles","cancelable","isTrusted","ge","he","ie","je","ke","documentMode","le","me","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","se","ve","te","altKey","char","ue","we","color","email","range","search","tel","text","url","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","_isInputEventSupported","Ne","view","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","shiftKey","buttons","movementX","movementY","We","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","parentWindow","$e","af","bf","cf","df","select","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","of","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","rf","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","H","I","Af","J","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","hg","ig","defaultProps","jg","kg","lg","mg","ng","og","_context","_currentValue","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","responders","tg","ug","updateQueue","baseState","baseQueue","pending","effects","vg","wg","suspenseConfig","payload","xg","yg","zg","z","ca","Ag","Bg","Cg","Dg","Eg","refs","Fg","Jg","isMounted","_reactInternalFiber","enqueueSetState","Gg","Hg","Ig","enqueueReplaceState","enqueueForceUpdate","Kg","shouldComponentUpdate","isPureReactComponent","Lg","contextType","updater","Mg","UNSAFE_componentWillReceiveProps","Ng","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Og","Pg","ref","_owner","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","tagName","eh","fh","gh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","N","mh","Q","nh","oh","ph","qh","rh","sh","queue","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","xh","yh","zh","Ah","destroy","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","ReactCurrentOwner","Zh","$h","ai","bi","compare","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","getDerivedStateFromError","hi","pendingContext","ni","oi","pi","qi","retryTime","ji","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onClick","onclick","createElementNS","createTextNode","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","Di","Mi","Ni","Oi","Pi","Qi","Ri","insertBefore","_reactRootContainer","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","V","ej","fj","gj","hj","ij","jj","X","kj","lj","mj","nj","oj","pj","Y","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","Z","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","timeout","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","createRange","setStart","removeAllRanges","addRange","setEnd","left","top","vb","Uj","Vj","Wj","hidden","_ctor","ob","Xj","_calculateChangedBits","unstable_observedBits","Zj","isReactComponent","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","kk","jk","unmount","querySelectorAll","form","Lj","lk","Events","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","DEFAULT_CHART_COLORS","DEFAULT_COLORS","freeze","getGoogle","windowAsArg","google","googleChartLoader","isLoaded","loadScript","init","packages","language","mapsApiKey","script","google_charts","charts","getGoogleCharts","load","setOnLoadCallback","uniqueID","generateUniqueID","Chart","super","chart","wrapper","hidden_columns","dataTable","isUnmounted","onResize","drawChart","onSelectToggle","legend_toggle","const","selection","row","togglePoints","column","getColumnColor","columnIndex","colors","applyNumberFormat","visualization","applyDateFormat","buildDataTableFromProps","chartType","googlefromWindow","diffdata","oldData","arrayToDataTable","old","newData","new","computeDiff","rows","allowEmptyRows","setDataTable","getDataTable","DataTable","addColumn","addRows","numberFormat","formatters","log","updateDataTable","removeAll","getElementById","getContainerId","removeRows","getNumberOfRows","removeColumns","getNumberOfColumns","getChartType","events","removeAllListeners","setChartType","addOneTimeListener","getChart","listenToChartEvents","ChartWrapper","containerId","graphID","addChartActions","draw","chartActions","chartAction","setAction","addListener","chartEvents","chartEvent","eventName","buildColumnFromSourceData","label","getColumnLabel","getColumnType","sourceColumn","role","getColumnRole","buildEmptyColumnFromSourceData","calc","addEmptyColumnTo","emptyColumn","hideColumn","isHidden","addSourceColumnTo","restoreColorTo","let","previousColor","debounce","wait","setColumns","graph_id","loadCharts","chartPackages","chartVersion","chartLanguage","loader","title","subtitle","hAxis","vAxis","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","prevState","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","bodyOpenClassName","portalClassName","_reactDom2","_ModalPortal2","ariaAppHider","newObj","_interopRequireWildcard","_safeHTMLElement","_safeHTMLElement2","_reactLifecyclesCompat","isReact16","createHTMLElement","getCreatePortal","getParentElement","parentSelector","Modal","removePortal","portalRef","portal","renderPortal","defaultStyles","prevParent","nextParent","_","_props","isOpen","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","setElement","propTypes","content","overlay","htmlOpenClassName","afterOpen","overlayClassName","appElement","SafeHTMLCollection","SafeNodeList","onAfterOpen","onRequestClose","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","preventScroll","aria","contentLabel","shouldCloseOnEsc","overlayRef","contentRef","overlayElement","contentElement","contentEl","position","right","bottom","backgroundColor","border","background","WebkitOverflowScrolling","borderRadius","outline","padding","focusManager","_scopeTab2","_portalOpenInstances2","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","getElementsByTagName","show","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","deregister","beforeOpen","closeTimer","setupScopedFocus","markForFocusLater","openAnimationFrame","requestAnimationFrame","overlayEl","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","buildClassName","additional","attributesFromObject","items","acc","moveFromContentToOverlay","cancelAnimationFrame","register","_props2","contentStyles","overlayStyles","overlayProps","onMouseDown","contentProps","tabIndex","onKeyDown","onMouseUp","modal","testId","resetState","globalElement","assertNodeList","useElement","validateElement","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","documentNotReadyOrSSRTesting","_warning","_warning2","nodeList","selector","HTMLCollection","NodeList","_arr","after","instances","_arr2","_i2","_portalOpenInstances","openInstances","cloneNode","parentElement","htmlElement","cls","htmlClassList","removeClass","_cls","docBodyClassList","at","classString","classListRef","poll","incrementReference","decrementReference","focusLaterElements","handleBlur","handleFocus","toFocus","modalElement","_tabbable","_tabbable2","needToFocus","portalOpenInstances","PortalOpenInstances","openInstance","emit","subscribers","subscriber","_exenv","EE","SafeHTMLElement","HTMLElement","tabbable","getActiveElement","checkSafari","navigator","userAgent","shadowRoot","findTabbableDescendants","descendants","finished","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","getComputedStyle","getPropertyValue","scrollWidth","scrollHeight","exception","focusable","isTabIndexNotNaN","rootNode","getRootNode","host","visible","isTabIndexNaN","_Modal","_Modal2","reactIs","REACT_STATICS","getDefaultProps","mixins","KNOWN_STATICS","caller","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","isBrowser","_propTypes","_reactDom","_assertThisInitialized","_getPrototypeOf","_setPrototypeOf","useCreatePortal","_React$Component","renderLayer","_default","getScrollTop","pageYOffset","getScrollLeft","pageXOffset","getArrowSpacing","defaultArrowSpacing","arrow","arrowSize","noArrowDistance","distance","getScrollParent","scrollParent","parentStyle","overflowY","overflowX","bodyPadding","minArrowPadding","getDirection","currentDirection","tip","arrowStyles","recursive","targetRect","getBoundingClientRect","arrowSpacing","_functions","heightOfTipWithArrow","spaceBelowTarget","innerHeight","spaceAboveTarget","hasSpaceBelow","hasSpaceAbove","checkLeftRightWidthSufficient","checkTargetSufficientlyVisible","clientWidth","checkForArrowOverhang","deadSpace","bottomOverhang","topOverhang","halfTargetHeight","arrowClearance","bottomOverhangAmount","topOverhangAmount","hasLeftClearance","positionStyles","hasRightClearance","_Portal","_position","_objectSpread","ownKeys","defaultBg","stopProp","Tooltip","showTip","hasHover","ignoreShow","hasBeenShown","hideTip","checkHover","toggleTip","startHover","endHover","listenResizeScroll","handleResizeScroll","bodyTouchStart","bodyTouchEnd","targetTouchStart","targetTouchEnd","debounceTimeout","hoverTimeout","targetTouch","onToggle","_this3","hoverDelay","mouseOutDelay","tipPortal","_this4","eventOff","eventOn","eventToggle","forceDirection","styles","TagName","tipContentHover","tipContentClassName","useDefaultStyles","useHover","arrowContent","isControlledByProps","portalProps","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","currentPositions","tipStyles","boxSizing","borderStyles","realDirection","alignMode","directionArray","parseAlignMode","trimmedDirection","testArrowStyles","getArrowStyles","_getDirection","maxWidth","getTipMaxWidth","spacer","getUpDownPosition","getLeftRightPosition","targetLeft","halfTargetWidth","tipWidth","arrowCenter","arrowLeft","arrowRight","rightWithArrow","rightEdge","centeredLeft","availableSpaceOnLeft","rightOverhang","arrowPadding","targetTop","arrowTop","arrowBottom","topForBottomAlign","centeredTop","borderTop","borderBottom","borderRight","borderRightWidth","borderRightStyle","borderLeft","borderLeftWidth","borderLeftStyle","borderTopWidth","borderTopStyle","borderBottomWidth","borderBottomStyle","__self","__source","jsx","jsxs","forceUpdate","keyPrefix","escape","IsSomeRendererActing","only","PureComponent","cloneElement","_currentValue2","_threadCount","createFactory","createRef","forwardRef","isValidElement","lazy","memo","INIT","reducer","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","listener","isSubscribed","listeners","replaceReducer","nextReducer","$$observable","outerSubscribe","observer","observeState","unsubscribe","getUndefinedStateErrorMessage","actionType","reducers","reducerKeys","finalReducers","finalReducerKeys","shapeAssertionError","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","bindActionCreator","actionCreator","bindActionCreators","actionCreators","boundActionCreators","compose","funcs","middlewares","chain","_dispatch","middlewareAPI","middleware","hasIndices","ignoreCase","multiline","dotAll","unicode","sticky","flagsBound","calls","TypeErr","MessageChannel","unstable_forceFrameRate","performance","port2","port1","onmessage","postMessage","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","observable","ponyfill","warning","_arrayLikeToArray","_slicedToArray","_s","_e","_n","minLen","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","globalThis","hmd","nmd","isAbsolute","pathname","spliceOne","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","up","unshift","valueEqual","aValue","bValue","isProduction","provided","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","hash","createLocation","currentLocation","hashIndex","searchIndex","parsePath","resolvePathname","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","isActive","notifyListeners","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","supportsHistory","needsHashChangeListener","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","transitionManager","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","fromLocation","toLocation","toIndex","allKeys","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","locationsAreEqual$$1","allPaths","lastIndexOf","baseTag","querySelector","pushHashPath","nextPaths","clamp","lowerBound","upperBound","commonjsGlobal","React","getUniqueId","_proto2","_objectWithoutPropertiesLoose","excluded","sourceKeys","createNamedContext","historyContext","Router","_isMounted","_pendingLocation","staticContext","computeRootMatch","params","isExact","RouterContext","HistoryContext","Lifecycle","onMount","onUnmount","Prompt","when","cacheLimit","cacheCount","generatePath","generator","compilePath","Redirect","computedMatch","locationsAreEqual","matchPath","cacheKey","pathCache","regexp","Route","isEmptyChildren","createURL","staticHandler","methodName","noop","Switch","withRouter","wrappedComponentRef","remainingProps","WrappedComponent","hoistStatics","BrowserRouter","createHistory","resolveToLocation","normalizeToLocation","forwardRefShim","LinkAnchor","forwardedRef","innerRef","navigate","rest","ex","isModifiedEvent","Link","isDuplicateNavigation","ariaCurrent","activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","_createSuper","Derived","hasNativeReflectConstruct","construct","sham","Super","NewTarget","subscriptionShape","trySubscribe","tryUnsubscribe","notifyNestedSubs","storeShape","storeKey","subscriptionKey","CLEARED","nullListeners","notify","Subscription","parentSub","onStateChange","addNestedSub","createListenerCollection","prefixUnsafeLifecycleMethods","hotReloadingVersion","dummyState","connectAdvanced","selectorFactory","_contextTypes","_childContextTypes","_ref2$getDisplayName","getDisplayName","_ref2$methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","shouldHandleStateChanges","_ref2$storeKey","_ref2$withRef","withRef","connectOptions","wrappedComponentName","selectorFactoryOptions","Connect","renderCount","propsMode","setWrappedInstance","initSelector","initSubscription","_ref3","subscription","run","getWrappedInstance","wrappedInstance","sourceSelector","makeSelectorStateful","notifyNestedSubsOnComponentDidUpdate","addExtraProps","withExtras","shallowEqual","wrapMapToPropsConstant","getConstant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","ownProps","mapDispatchToProps","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","pure","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","defaultMapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","defaultMapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","defaultMergePropsFactories","_ref$selectorFactory","defaultSelectorFactory","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","isLarge","included","vertical","reverse","positonStyle","elStyle","addEventListenerWrap","ReactDOM","addDOMEventListener","Steps","prefixCls","marks","dots","dotStyle","activeDotStyle","elements","points","calcPoints","_classNames","isActived","pointClassName","Marks","onClickLabel","marksKeys","markPoint","markPointIsObject","markLabel","markClassName","bottomStyle","marginBottom","leftStyle","msTransform","markStyle","Handle","clickFocused","setHandleRef","handle","handleMouseUp","setClickFocus","handleMouseDown","onMouseUpListener","focused","blur","restProps","_objectWithoutProperties","positionStyle","_tabIndex","onBlur","KeyCode","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","isCharacterKey","isEventFromHandle","handles","isValueOutOfRange","isNotTouchEvent","getClosestPoint","maxSteps","steps","closestStep","_toConsumableArray","getMousePosition","getTouchPosition","getHandleCenterPosition","coords","ensureValueInRange","ensureValuePrecision","closestPoint","stepString","precision","getPrecision","pauseEvent","getKeyboardValueMutator","increase","decrease","operations","indexToGet","keyToGet","calculateNextValue","createSlider","_class","ComponentEnhancer","isVertical","utils","handlesRefs","handlePosition","dragOffset","removeDocumentEvents","onStart","addDocumentMouseEvents","addDocumentTouchEvents","onFocus","onEnd","prevMovedHandleIndex","clickFocus","onMouseMove","sliderRef","onMove","onTouchMove","onKeyboard","onClickMarkLabel","onChange","saveSlider","slider","isPointDiffEven","_get","rect","onTouchMoveListener","onTouchUpListener","onMouseMoveListener","_props3","ratio","getSliderLength","pixelOffset","getSliderStart","trimAlignValue","calcValue","_props4","_props5","maximumTrackStyle","railStyle","_get$call","tracks","sliderClassName","getLowerBound","getUpperBound","onBeforeChange","onAfterChange","minimumTrackStyle","handleStyle","trackStyle","dragging","Slider","theValue","nextValue","isNotControlled","changedValue","prevValue","calcValueByPos","startValue","startPosition","valueMutator","mutatedValue","handleGenerator","_state","calcOffset","saveHandle","_trackStyle","Track","_trimAlignValue","bounds","allowCross","pushable","thershold","valInRange","valNotConflict","Range","recent","currentValue","controlledState","closestBound","getClosestBound","getBoundNeedMoving","nextBounds","moveTo","boundNeedMoving","isAtTheSamePoint","_getPointsCache","pointsObject","isFromKeyboardEvent","nextHandle","pushSurroundingHandles","diffToNext","pushHandle","amount","originalValue","pushHandleOnePoint","getPoints","nextPointIndex","_state2","_state3","offsets","handleClassName","_classNames2","trackClassName","_isNativeReflectConstruct","ContainerRender","_super","removeContainer","renderComponent","getComponent","forceRender","getContainer","_component","autoMount","autoDestroy","vendorPrefix","createContainer","didUpdate","_container","isPointsEq","a1","a2","isAlignPoint","saveRef","jsCssMap","Webkit","Moz","getVendorPrefix","getTransitionName","getTransformName","setTransitionProperty","transitionProperty","setTransform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","elem","originalStyle","css","getScroll","getOffset","box","docElem","getClientPosition","isWindow","getDocument","_RE_NUM_NO_PX","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","getOffsetDirection","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","preset","originalXY","matrix","getTransformXY","resultXY","xy","match2d","setTransformXY","each","isBorderBoxFn","cs","computedStyle","rsLeft","pixelLeft","BOX_MODELS","CONTENT_INDEX","PADDING_INDEX","BORDER_INDEX","getPBMWidth","cssProp","domUtils","getParent","getWH","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","win","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","swap","mix","includeMargin","getWindow","ignoreShake","oriOffset","oLeft","oTop","tLeft","tTop","useCssTransform","setOffset","getWindowScrollLeft","getWindowScrollTop","getOffsetParent","getVisibleRectForElement","alwaysByViewport","visibleRect","Infinity","clientHeight","originalPosition","scrollX","scrollY","documentWidth","documentHeight","bodyStyle","innerWidth","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","outerWidth","outerHeight","getAlignOffset","region","align","getElFuturePos","elRegion","refNodeRegion","targetOffset","isFailX","elFuturePos","isFailY","flip","flipOffset","convertOffset","offsetLen","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","adjustX","adjustY","newPoints","newOffset","newTargetOffset","isCompleteFailX","isCompleteFailY","isStillFailX","isStillFailY","resizeWidth","resizeHeight","adjustForViewport","alignElement","refNode","isTargetNotOutOfVisible","targetRegion","isOutOfVisibleRect","__getOffsetParent","__getVisibleRectForElement","isSimilarValue","val1","val2","int1","int2","getElement","getPoint","Align","forceAlign","onAlign","tgtPoint","pointInView","alignPoint","restoreFocus","monitorWindowResize","startMonitorWindowResize","prev","reAlign","sourceRect","lastElement","currentElement","lastPoint","currentPoint","preRect","stopMonitorWindowResize","resizeHandler","bufferMonitor","timer","bufferFn","monitorBufferTime","childrenProps","newProps","toArrayChildren","findChildInChildrenByKey","findShownChildInChildrenByKey","showProp","START_EVENT_NAME_MAP","transitionstart","WebkitTransition","MozTransition","OTransition","msTransition","WebkitAnimation","MozAnimation","OAnimation","msAnimation","END_EVENT_NAME_MAP","startEvents","endEvents","eventListener","EVENT_NAME_MAP","baseEventName","baseEvents","styleName","detectEvents","addStartEventListener","startEvent","removeStartEventListener","addEndEventListener","endEvent","removeEndEventListener","isCssAnimationSupported","Event","capitalPrefixes","prefixes","getStyleProperty","fixBrowserByTimeout","transitionDelay","transitionDuration","animationDelay","animationDuration","rcEndAnimTimeout","rcEndListener","clearBrowserBugTimeout","cssAnimation","transitionName","endCallback","nameIsObj","active","nodeClasses","rcAnimTimeout","stop","setTransition","isAppearSupported","transitionAppear","appear","isEnterSupported","transitionEnter","enter","isLeaveSupported","transitionLeave","leave","allowAppearCallback","allowEnterCallback","allowLeaveCallback","transitionMap","AnimateChild","animUtil","animationType","finishCallback","stopper","activeName","cssAnimate","defaultKey","getChildrenFromProps","Animate","_initialiseProps","currentlyAnimatingKeys","keysToEnter","keysToLeave","childrenRefs","performAppear","nextChildren","exclusive","currentChildren","newChildren","currentChild","nextChild","newChild","nextChildrenPending","mergeChildren","hasPrev","showInNext","hasNext","showInNow","performEnter","performLeave","stateChildren","passedProps","componentProps","isAnimate","onEnter","onLeave","onAppear","_this5","componentWillEnter","handleDoneAdding","componentWillAppear","isValidChildByKey","componentWillLeave","handleDoneLeaving","c1","c2","same","child2","isSameChildren","unsafeLifecyclesPolyfill","LazyRenderBox","hiddenClassName","PopupInner","Popup","stretchChecked","targetWidth","targetHeight","savePopupRef","saveAlignRef","getPopupDomNode","setStretchSize","popupInstance","getMaskTransitionName","maskTransitionName","maskAnimation","getClassName","currentAlignClassName","getPopupElement","getClassNameFromAlign","destroyPopupOnHide","stretch","sizeStyle","minHeight","minWidth","alignInstance","popupInnerProps","getZIndexStyle","getAlignTarget","xVisible","getMaskElement","maskElement","mask","maskTransition","getRootDomNode","popupDomNode","$ele","getTargetElement","ALL_HANDLERS","IS_REACT_16","rcTrigger","onPopupMouseDown","Trigger","popupVisible","defaultPopupVisible","prevPopupVisible","fireEvents","afterPopupVisibleChange","currentDocument","clickOutsideHandler","isClickToHide","isContextMenuToShow","onDocumentClick","touchOutsideHandler","contextMenuOutsideHandler1","onContextMenuClose","contextMenuOutsideHandler2","clearOutsideHandler","clearDelayTimer","mouseDownTimeout","getPopupAlign","popupPlacement","popupAlign","builtinPlacements","placementStr","baseAlign","getAlignFromPlacement","setPopupVisible","onPopupVisibleChange","setPoint","delaySetPopupVisible","delayS","delayTimer","createTwoChains","childPros","isClickToShow","showAction","hideAction","isMouseEnterToShow","isMouseLeaveToHide","isFocusToShow","_props6","isBlurToHide","_props7","forcePopupAlign","childCallback","_props8","newChildProps","onContextMenu","childrenClassName","trigger","handlePortalUpdate","getPopupClassNameFromAlign","popup","popupStyle","popupClassName","popupTransitionName","popupAnimation","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","getPopupContainer","maskClosable","onPopupAlign","onPopupMouseEnter","onPopupMouseLeave","focusTime","preClickTime","preTouchTime","preTime","nextVisible","_context$rcTrigger","hasPopupMouseDown","_props9","placement","getAlignPopupClassName","_props10","mouseProps","savePopup","popupContainer","autoAdjustOverflow","placements","topLeft","leftTop","topRight","rightTop","bottomRight","rightBottom","bottomLeft","leftBottom","Content","saveTrigger","overlayStyle","onVisibleChange","afterVisibleChange","destroyTooltipOnHide","defaultVisible","getTooltipContainer","extraProps","ComponentWrapper","visibles","handleTooltipVisibleChange","handleWithTooltip","tipFormatter","tipProps","_tipProps$prefixCls","_tipProps$overlay","_tipProps$placement","_tipProps$visible","restTooltipProps","handleStyleWithIndex","sourceSymbolKeys","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","unescape","I18nContext","getDefaults","ReportNamespaces","usedNamespaces","namespaces","ns","getI18n","_console","alreadyWarned","warnOnce","loadNamespaces","i18n","isInitialized","initialized","enumerableOnly","getOwnPropertyDescriptors","usePrevious","ignore","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","defaultNS","reportNamespaces","notReadyT","retNotReady","react","i18nOptions","addUsedNamespaces","initializedStoreOnce","languages","ignoreJSONStructure","hasLoadedNamespace","precheck","loadNotPending","services","backendConnector","backend","isLanguageChangingTo","lng","fallbackLng","lastLng","loadState","hasResourceBundle","resources","partialBundledLanguages","oldI18nextHasLoadedNamespace","getT","getFixedT","nsMode","_useState","_useState2","setT","joinedNS","previousJoinedNS","boundReset","isInitial","_excluded","withTranslation","I18nextWithTranslation","_useTranslation","_useTranslation2","passDownProps","tReady","forwardRefReact","SliderWithField","handleChange","previousValue","rangeError","minValue","maxValue","wrapDescription","isFinal","intValue","hasAcceptedChange","rollbackChange","lastChange","SellsOfGood","price","good","quarterName","storageCount","maxPrice","minPrice","nameEn","newCount","newPrice","SellsOfGoodTranslated","connect","Sells","renderGoodSells","goods","goodStorage","previousState","Production","handleChangeProduction","handleBuyMachines","handleSellMachines","confirmedLethalSell","renderMachines","renderProduction","didDownloadData","currentQuarterProduction","getActiveMachinesProduction","futureProduction","getNotActiveMachinesProduction","machinesCount","machineCount","machineIndex","findGoodProduction","machineTime","isMachineCapacityFull","goodName","quantity","getProducedGoodCount","machineProduction","productionOfMachines","goodCount","productionEffectivity","effectivity","goodProductionIndex","newMachineTime","currentMachineCount","futureMachinesCount","sellPrice","machinePrices","buyPrice","profif","renderLethalSellWarning","maxMachineCount","totalPrice","confirmLethalValue","ProductionTranslated","currentPath","targetPath","icon","bold","ProgressBar","percents","renderMoreThan30","renderLessThan30","renderLessThan10","barTitle","percentsSupplement","RemainingTimeProgressBar","oneDay","remainingHours","calculateRemainingHours","triggerExpirationCallback","setInterval","tick","expirationCallback","hoursInQuarter","getRemainingHoursTitle","getRemainingDaysTitle","remainingDays","MenuFooter","renderAfterGameInfo","renderCurrentQuarterInfo","runningOutOfTime","MenuFooterTranslated","isTeacher","menuClassName","mobileMenuVisible","hideMenu","startsWith","renderTeacherMenu","renderStudentMenu","basePath","renderMarketSurveyWarning","gameHasEnded","marginLeft","gameName","renderOpenedLoanRequirements","MenuTranslated","isNodeFound","componentNode","ignoreClass","correspondingElement","seed","passiveEventSupport","handlersMap","enabledInstances","touchEvents","getEventHandlerOptions","handlerOptions","passive","onClickOutside","__outsideClickHandler","__clickOutsideHandlerProp","getInstance","handleClickOutside","__getComponentNode","setClickOutsideRef","enableOnClickOutside","_uid","testPassiveEventSupport","evt","excludeScrollbar","findHighest","composed","composedPath","outsideClickIgnoreClass","disableOnClickOutside","getRef","instanceRef","wrappedRef","getClass","UserButton","isUserMenuVisible","backgroundImage","userName","renderLastLogin","lastLogin","CZ","xmlns","viewBox","fill","US","consoleLogger","Logger","concreteLogger","logger","debug","forward","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","observers","defer","rej","promise","makeString","getLastOfPath","cleanKey","canNotTraverseDeeper","setPath","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","_entityMap","isIE10","deepFind","keySeparator","joinedPath","ResourceStore","_EventEmitter","silent","addNamespaces","addResource","deep","pack","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","processor","checkedLoadedFor","Translator","interpolation","resolved","nsSeparator","interpolator","nestingRegexp","lastKey","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","lngs","fallbackLngs","languageUtils","getFallbackCodes","saveMissingTo","toResolveHierarchy","send","fallbackValue","missingKeyHandler","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","defaultVariables","interpolate","nest","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","extracted","fallbackNS","needsContextHandling","codes","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","returnNull","returnEmptyString","resourceStore","capitalize","LanguageUtil","whitelist","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","cleanCode","isSupportedCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","sets","nr","_rulesPluralsTypes","PluralResolver","rules","numbers","plurals","createRules","rule","getRule","noAbs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","safeValue","todo","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","doReduce","Connector","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","addResourceBundle","_getLastOfPath2","pushPath","what","fcName","tried","read","queueLoad","loadOne","prepareLoading","isUpdate","transformOptions","nonExplicitWhitelist","I18n","modules","external","isClone","initImmediate","createClassOnDemand","ClassOrObject","preload","pluralSeparator","tDescription","_format","lu","languageDetector","detection","_this2$store","_this2$store2","deferred","finish","changeLanguage","usedCallback","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","resultKey","_this$translator","_this$translator2","exists","_this6","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","LanguageOptions","i18next","targetLng","Navbar","renderMobileMenuToggler","alt","toggleMobileMenu","NavbarTranslated","localizedError","vars","containsFatal","isFatal","existsServerError","existsErrorById","serverErrorId","Errors","uniqueKey","uniqueErrors","renderError","renderButton","ErrorsTranslated","Main","savedAllChanges","Layout","handleLeavePage","confirmationMessage","renderPageLeaveAlert","getCorrectBackground","userMenuDisplayed","renderContent","LayoutTranslated","danger","annotations","boxStyle","stroke","rx","ry","textStyle","startup","easing","NumberField","measure","short","required","FileUpload","selectedFileName","htmlFor","buttonTitle","accept","InvestLoanRequirement","didLoadData","isUploading","isRequestPeriod","checkPeriod","disabledClassName","isBankrupted","requirement","renderAmount","renderExistingDocument","renderFileUpload","interestRate","repaymentQuarter","disabledChange","autoAccept","documentUrl","save","saveAmount","existsUploadError","InvestLoanRequirementTranslated","hasBridgeLoan","automaticLoan","investmentLoanInterestRate","investmentLoanRepaymentDelay","CashFlow","cashFlow","defaultCash","income","revenues","investLoan","bridgingLoan","extraordinaryIncome","outcome","investments","taxes","extraordinaryOutcome","finalCash","renderBankruptcyWarning","InvestLoanExtraRepayment","repayment","extraRepayment","InvestLoanExtraRepaymentTranslated","Dashboard","renderGoodStorage","renderMaterialStorage","employeeCount","storageItem","materialStorage","material","materials","DashboardTranslated","companyPreviousState","companyCurrentState","Login","usernameInputRef","passwordInputRef","isProcessing","defaultPath","onSubmit","placeholder","autoComplete","LoginTranslated","isRegisteredToGame","loginProblem","didDownloadUser","Homepage","HomepageTranslated","SummariesTable","renderTable","summary","firstQuarterOfYear","yearSummaryName","quarterSummaryName","yearSummary","quarterSummary","Summaries","renderSummaries","SummariesTranslated","MaterialPurchaseRequirement","materialName","getDescription","storageAmount","currentQuarterPrice","prices","discountThreshold","materialDiscountThreshold","discountRate","materialDiscountRate","discount","MaterialPurchaseRequirementTranslated","storagePrice","MaterialPurchase","renderMaterialRequirements","renderMaterialPurchase","MaterialPurchaseTraslated","employees","personalIndex","salaryIndex","education","StaffRequirement","fire","hire","confirmedLethalFiring","currentEmployeeCount","getFiringDescription","handleFireEmployees","maxEmployeeCount","getHiringDescription","handleHireEmployees","salary","salaryBase","StaffRequirementTranslated","maxEmployees","defaultSalary","SelectField","StaffPersonalPolicy","minSalaryIndex","maxSalaryIndex","getMoreInfoText","onSalaryIndexChange","piUnderAverage","wasPersonalIndexUnderMarketAverageInPreviousQuarter","hiredEmployeeCount","hiringCosts","hiringFee","StaffPersonalPolicyTranslated","Staff","renderStaffTable","renderStaffRequirement","renderStaffPolicy","newSalaryIndex","StaffTranslated","RegistrationToGame","isBeingRegistered","maxLength","falseRegistrationPhrase","RegistrationToGameTranslated","SelectSeminar","seminars","seminar","attrRE","voidElement","attrs","tagMatch","lookup","endIndex","comment","tagRE","whitespaceRE","buff","attrString","html","components","level","inComponent","isComment","nextChar","parseTag","rootEl","_excluded2","hasChildren","checkLength","getChildren","getAsArray","nodesToString","stringNode","childrenArray","keepArray","childIndex","childPropsCount","shouldKeepChild","childChildren","i18nIsDynamicList","renderNodes","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","getData","childs","ast","HTML","renderInner","rootReactNode","mappedChildren","mapAST","hasValidReactChildren","pushTranslatedJSX","mem","isVoid","dummy","reactNode","astNode","reactNodes","translationContent","newTarget","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","_inner","_inner3","_inner4","wrapTextNodes","_content","Trans","i18nKey","_ref$tOptions","tOptions","tFromProps","additionalProps","reactI18nextOptions","hashTransKey","interpolationOverride","useAsParent","defaultTransParent","CompanyRegistration","isUserInCompany","userCompany","userHasCreatedCompany","userOwnCompany","isSaving","isAddingNewCompany","renderNewCompany","renderUserInCompanyInfo","renderMyCompanyInfo","renderCompanies","registrationEndDate","ownerId","renderMyCompanyRow","renderForeignCompanyRow","findSeminarName","renderUserChips","users","students","isMeInRow","student","isItMe","cn","existsUserCompanyUpdateError","addNewCompanyHandler","newCompanyName","onKeyPress","newCompanySeminarId","existsCompanyCreateError","newCompanyId","CompanyRegistrationTranslated","isStudent","TableRowDropdown","isVisible","renderDropdownItem","linkTo","Games","menus","renderTableRows","games","colSpan","isRunningCalculations","getGameState","marketsEnabled","TextField","timeoutDuration","longerTimeoutBrowsers","called","scheduled","functionToCheck","getStyleComputedProperty","getParentNode","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","isIE","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","Node","DOCUMENT_POSITION_FOLLOWING","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","upperSide","scrollingElement","getBordersSize","sideA","sideB","getSize","getWindowSizes","getClientRect","sizes","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","marginTop","includeScroll","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundariesElement","boundaries","excludeScroll","relativeOffset","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isPaddingNumber","computeAutoPlacement","refRect","rects","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","modifiers","ends","modifiersToRun","cur","enabled","isDestroyed","positionFixed","originalPlacement","isCreated","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","upperProp","toCheck","willChange","disableEventListeners","removeOnDestroy","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","isNumeric","setStyles","isFirefox","isModifierRequired","requestingName","requestedName","requesting","requested","validPlacements","clockwise","counter","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","toValue","index2","shiftvariation","side","shiftOffsets","transformProp","popperStyles","escapeWithReference","opSide","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","_data$offsets$arrow","flipped","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","subtractLength","attributes","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","modifierOptions","Popper","Defaults","jquery","onLoad","Utils","PopperUtils","ManagerReferenceNodeContext","ManagerReferenceNodeSetterContext","Manager","newReferenceNode","setReferenceNode","unwrapArray","safeInvoke","setRef","initialStyle","pointerEvents","initialArrowStyle","InnerPopper","popperNode","updatePopperInstance","arrowNode","applyStyle","updateStateModifier","popperInstance","destroyPopperInstance","referenceElement","PopperJS","getOptions","setPopperNode","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","arrowProps","setArrowNode","getArrowStyle","InnerReference","refHandler","Reference","classCallCheck","createClass","inherits","possibleConstructorReturn","generateYears","noOfYear","minDate","maxDate","newYear","isInRange","YearDropdownOptions","renderOptions","selectedYear","yearsList","minYear","maxYear","incrementYears","decrementYears","onCancel","shiftYears","yearDropdownItemNumber","scrollableYearDropdown","dropdownClass","dayOfWeekCodes","getStartOf","newDate","maybeFixedUtcOffset","cloneDate","setYear","getSecond","getMinute","getHour","getYear","getStartOfWeek","getStartOfMonth","addMinutes","addDays","addWeeks","addMonths","subtractMonths","date1","date2","isSameYear","isSameMonth","isSameDay","moment1","moment2","isDayInRange","startDate","endDate","localizeDate","isDayDisabled","_ref4","excludeDates","includeDates","filterDate","excludeDate","includeDate","isTimeDisabled","disabledTimes","isTimeInDisabledRange","_ref6","minTime","maxTime","baseTime","allDaysDisabledBefore","_ref7","dateBefore","allDaysDisabledAfter","_ref8","dateAfter","getEffectiveMinDate","_ref9","getEffectiveMaxDate","_ref10","getHightLightDaysMap","highlightDates","defaultClassName","dateClasses","classNamesArr","arrOfMoments","_classNamesArr","timesToInjectAfter","startOfDay","currentTime","currentMultiplier","intervals","injectedTimes","times","injectedTime","nextTime","WrappedYearDropdownOptions","YearDropdown","dropdownVisible","renderSelectOptions","onSelectChange","renderSelectMode","renderReadView","toggleDropdown","renderDropdown","renderScrollMode","adjustDateOnChange","handleYearChange","setOpen","renderedDropdown","dropdownMode","MonthDropdownOptions","monthNames","WrappedMonthDropdownOptions","MonthDropdown","useShortMonthInDropdown","getMonthShortInLocale","getMonthInLocale","generateMonthYears","currDate","lastDate","MonthYearDropdownOptions","monthYearsList","monthYear","monthYearPoint","isSameMonthYear","scrollableMonthYearDropdown","WrappedMonthYearDropdownOptions","MonthYearDropdown","timepoint","yearMonth","changedDate","Day","handleClick","handleMouseEnter","isKeyboardSelected","disabledKeyboardNavigation","inline","preSelection","getHighLightedClass","_this$props2","isInSelectingRange","_this$props3","selectsStart","selectsEnd","selectingDate","isSelectingRangeStart","_this$props4","isSelectingRangeEnd","_this$props5","isRangeStart","_this$props6","isRangeEnd","_this$props7","isWeekend","isOutsideMonth","getClassNames","dayClassName","renderDayContents","WeekNumber","weekNumberClasses","weekNumber","Week","handleDayClick","onDayClick","handleDayMouseEnter","onDayMouseEnter","handleWeekClick","onWeekSelect","formatWeekNumber","startOfWeek","renderDays","showWeekNumber","onClickAction","Month","handleMouseLeave","isWeekInMonth","endOfWeek","renderWeeks","isFixedHeight","fixedHeight","currentWeekStart","breakAfterNextPush","showWeekNumbers","isFixedAndFinalWeek","isNonFixedAndOutOfMonth","peekNextMonth","Time","excludeTimes","includeTimes","liClasses","currH","currM","injectTimes","renderTimes","activeTime","multiplier","sortedInjectTimes","timesToInject","centerLi","calcCenterPosition","monthRef","header","todayButton","timeCaption","onTimeChange","CalendarContainer","_ref$arrowProps","listHeight","centerLiRef","offsetTop","DROPDOWN_FOCUS_CLASSNAMES","Calendar","handleDropdownFocus","testClassname","isDropdownSelect","onDropdownFocus","getDateInView","openToDate","initialDate","increaseMonth","handleMonthChange","decreaseMonth","handleMonthMouseLeave","onYearChange","onMonthChange","handleMonthYearChange","changeYear","changeMonth","changeMonthYear","dayNames","weekLabel","getLocaleData","weekDayName","formatWeekday","formatWeekDay","getFormattedWeekdayInLocale","useWeekdaysShort","getWeekdayShortInLocale","getWeekdayMinInLocale","renderPreviousMonthButton","renderCustomHeader","allPrevDaysDisabled","forceShowMonthNavigation","showDisabledMonthNavigation","showTimeSelectOnly","clickHandler","previousMonthButtonLabel","renderNextMonthButton","allNextDaysDisabled","showTimeSelect","nextMonthButtonLabel","renderCurrentMonth","showYearDropdown","showMonthDropdown","showMonthYearDropdown","renderYearDropdown","overrideHide","renderMonthDropdown","renderMonthYearDropdown","renderTodayButton","renderDefaultHeader","monthDate","prevMonthButtonDisabled","nextMonthButtonDisabled","renderMonths","monthList","monthsShown","monthKey","div","monthContainer","renderTimeSection","timeIntervals","withPortal","assignMonthContainer","Container","popperPlacementPositions","PopperComponent","hidePopper","popperComponent","popperModifiers","popperPlacement","popperProps","popperContainer","preventOverflow","WrappedCalendar","INPUT_ERR_1","DatePicker","getPreSelection","calcInitialState","defaultPreSelection","boundedPreSelection","startOpen","preventFocus","clearPreventFocusTimeout","preventFocusTimeout","setFocus","setBlur","cancelFocusInput","skipSetBlur","lastPreSelectChange","PRESELECT_CHANGE_VIA_NAVIGATE","inputValue","inputOk","isCalendarOpen","readOnly","preventOpenOnFocus","inputFocusTimeout","deferFocusInput","handleCalendarClickOutside","allArgs","onChangeRaw","PRESELECT_CHANGE_VIA_INPUT","parseDate","setSelected","handleSelect","shouldCloseOnSelect","setPreSelection","keepInput","_ref5","isOutOfBounds","allowSameDay","handleTimeChange","onInputClick","onInputKeyDown","eventKey","onInputError","newSelection","subtractWeeks","subtractYears","addYears","onClearClick","renderCalendar","dateFormatCalendar","calendarClassName","calendarContainer","renderDateInput","_classnames","_React$cloneElement","customInput","customInputRef","safeDateFormat","placeholderText","renderClearButton","isClearable","clearButtonTitle","equals","hasSelectionChanged","popperClassName","DateField","returnEndOfDay","generateEffectivity","hardness","EffectivityLevel","low","high","SelectTimeInWeek","dayValue","hourValue","options1","options2","Game","gameHasStarted","lastGoodId","lastMaterialId","initializeNewGame","processExistingGame","machineTimeMenus","currentTab","isCreatingNewGame","redirectToGames","newSeminarName","gameDefaults","renderCloseButton","renderSaveChangesButton","cancelEditing","noUnsavedChanges","saveGame","renderTabs","renderForm","renderButtons","fullKey","fieldName","localizeFieldName","validateObject","scrollTo","validateForm","finishSaving","reloadGame","tab","renderFormStructureOfGame","renderFormMaterials","renderFormGoods","renderFormDemand","renderFormMachineTime","renderFormOthers","madeChangesWithoutSaving","renderSeasons","renderSeminars","chips","translateSeminarName","originalName","lastPart","yearQuarter","fields","handleQuarterEndChange","addMaterial","renderMaterialsTable","updateMaterialProperty","defaultStorage","defaultPrice","priceVolatility","removeMaterial","demands","materialDemands","demand","addGood","renderGoodsTable","penalization","effectivityIndex","variableHeaders","variableColumns","updateGoodMaterialDemand","updateGoodProperty","removeGood","goodIndex","renderDemandTable","demandForMinPriceFirstQuarter","updateDemand","demandForMaxPriceFirstQuarter","quarterRiseCoefficient","culminationQuarterNumber","yearRiseCoefficient","renderMachinesTimeTable","rowSpan","goodEffectivity","updateProductionEffectivity","people","generateMachineTimeEffectivity","timeIndex","maxPlayersInCompany","surveyPrices","marketPotential","handleSurveyPriceChange","concurrencyPrices","concurrencySoldGoods","materialPrices","defaultMachineCount","defaultStockPrice","defaultEmployeeCount","defaultEducation","profitabilityStandard","GameTranslated","gameError","Companies","selectUser","selectUserToCompany","searchQuery","isSearching","hasSearched","companyCount","studentCount","studentWithoutCompanyCount","renderModalWindow","ownerName","renderCompanyMode","renderDeleteCompanyButton","removeUserCompany","toggleCompanyMode","newMode","renderUserSearch","renderUsersInCurrentGame","usersInGame","changeUserCompany","searchedUsers","renderSearchResults","encodedQuery","didDownloadSearchResults","MarketDemand","isGenerating","renderLoader","renderDemand","estimation","market","machineCountForOneCompany","estimatedMachineCountInLastQuarter","generateNewRandomNumbers","Markets","defaultNewMarketName","newMarketName","selectCompany","selectCompanyTargetMarket","isChangingEditingMode","showNoAutomaticCompanyMoreInfo","renderEditModeWarning","renderAddMarketButton","renderNoAutomaticCompanyWarning","renderNewMarket","isAddingNewMarket","alert","existsCompanyWithoutMarket","existsMarketWithoutCompany","disableEditing","companies","getCompaniesOnMarket","renderCompanyChips","renderDeleteMarket","removeCompanyFromMarket","updateCompanyMarket","existsAutomaticCompany","MarketsAndCompanies","renderMachineEstimationInfo","lastQuarter","LoanRequirements","didDownloadedData","firstQuarter","renderQuarter","quarterRequirements","renderRemainingHours","renderLoansForQuarter","sortedRequirements","timestamp","renderDocument","renderLastChange","changeName","requirementsGroupedByQuarter","StockPrices","renderMarket","renderLegend","arrayLength","renderCompaniesOnMarket","stockPrice","getStockPriceInQuarter","getStockPriceHighlight","renderCell","extremaInQuarter","getStockPriceExtremaInQuarter","previousQuarterPrice","Students","findCompanyName","removeUserFromGame","sortedCompanies","CompanySummary","NotFound","MarketSurvey","renderBoxes","productName","marketSurvey","surveyForQuarter","tableRows","MarketSurveyTranslated","Checkboxes","toggleCheckbox","Radioboxes","selectItem","selectedKey","MarketSurveyRequirements","marketSurveyRequirement","renderCheckboxes","renderTargetPrice","renderSurveyPrice","quarterNumbers","checkedQuarters","handleSelectedQuartersChange","handleTargetPriceChange","itemPrice","marketPotentialSurveyPrice","previousGoodsSurveyCount","currentGoodSurveyCount","coefficient","finalPrice","MarketSurveyRequirementsTranslated","ConcurrencySurvey","survey","renderSurveyResults","renderResultForCompanyAndGood","companySurvey","formattedPrice","formattedSoldGoods","goodSurvey","soldGoods","ConcurrencySurveyTranslated","quarterSurvey","MaterialSurvey","MaterialSurveyTranslated","MaterialSurveyRequirement","checkedItems","checkedQuarterNumbers","itemCount","materialSurveyPrice","MaterialSurveyRequirementTranslated","ConcurrencySurveyRequirement","priceSurveyPrice","soldGoodsSurveyPrice","ConcurrencySurveyRequirementTranslated","Surveys","ScoresTable","maxCompanies","getMaximumNumberOfCompaniesOnMarket","renderScoreForMarketAndOrder","marketScores","renderCompanySummaries","summaryCount","currentYear","lastQuarterOfYear","lastAvailableQuarter","Scores","ScoresTranslated","hasStartedGeneration","generateStatistics","openStatistics","documentHash","didLoadCompany","downloaded","userHasGame","didLoadGame","I18nextProvider","TimeTravel","hasChangedQuarter","startRefreshingLog","canGoBack","canGoForward","renderResult","renderGameNotStarted","changeQuarter","hasFinished","endsWith","logRefreshInterval","refreshLog","clearInterval","Experimental","Root","initI18n","onRouteChange","StudentSummaries","StudentScores","TeacherSummaries","TeacherScores","urlLanguage","URLSearchParams","intervalPlural","getLanguage","en","translation","translationEnJson","translationCsJson","configureStore"],"sourceRoot":""}